data.mv_polynomial.basic
⟷
Mathlib.Data.MvPolynomial.Basic
The following section lists changes to this file in mathlib3 and mathlib4 that occured after the initial port. Most recent changes are shown first. Hovering over a commit will show all commits associated with the same mathlib3 commit.
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(last sync)
These apply for things like actions by the units of the base ring.
@@ -130,10 +130,13 @@ add_monoid_algebra.is_central_scalar
instance [comm_semiring R] [comm_semiring S₁] [algebra R S₁] : algebra R (mv_polynomial σ S₁) :=
add_monoid_algebra.algebra
--- Register with high priority to avoid timeout in `data.mv_polynomial.pderiv`
-instance is_scalar_tower' [comm_semiring R] [comm_semiring S₁] [algebra R S₁] :
+instance is_scalar_tower_right [comm_semiring S₁] [distrib_smul R S₁] [is_scalar_tower R S₁ S₁] :
is_scalar_tower R (mv_polynomial σ S₁) (mv_polynomial σ S₁) :=
-is_scalar_tower.right
+add_monoid_algebra.is_scalar_tower_self _
+
+instance smul_comm_class_right [comm_semiring S₁] [distrib_smul R S₁] [smul_comm_class R S₁ S₁] :
+ smul_comm_class R (mv_polynomial σ S₁) (mv_polynomial σ S₁) :=
+add_monoid_algebra.smul_comm_class_self _
/-- If `R` is a subsingleton, then `mv_polynomial σ R` has a unique element -/
instance unique [comm_semiring R] [subsingleton R] : unique (mv_polynomial σ R) :=
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
decidable_eq
arguments to lemmas (#18848)
This does not change the type of any definitions; the effect of this PR is to make the statement of the lemmas syntactically more general.
To ensure this catches them all, this removes open_locale classical
from the beginning of every file in data/mv_polynomial
and ring_theory/mv_polynomial
.
For definitions which bake in a classical.dec_eq
assumption, this adds a lemma proven by convert rfl
that unfolds them to a version with an arbitrary decidable_eq
instance, following a pattern established elsewhere.
Unlike previous refactors of this style this doesn't seemed to have helped any downstream proofs much.
@@ -72,7 +72,7 @@ polynomial, multivariate polynomial, multivariable polynomial
noncomputable theory
-open_locale classical big_operators
+open_locale big_operators
open set function finsupp add_monoid_algebra
open_locale big_operators
@@ -417,14 +417,14 @@ by convert rfl
lemma support_monomial_subset : (monomial s a).support ⊆ {s} :=
support_single_subset
-lemma support_add : (p + q).support ⊆ p.support ∪ q.support := finsupp.support_add
+lemma support_add [decidable_eq σ] : (p + q).support ⊆ p.support ∪ q.support := finsupp.support_add
lemma support_X [nontrivial R] : (X n : mv_polynomial σ R).support = {single n 1} :=
-by rw [X, support_monomial, if_neg]; exact one_ne_zero
+by classical; rw [X, support_monomial, if_neg]; exact one_ne_zero
lemma support_X_pow [nontrivial R] (s : σ) (n : ℕ) :
(X s ^ n : mv_polynomial σ R).support = {finsupp.single s n} :=
-by rw [X_pow_eq_monomial, support_monomial, if_neg (one_ne_zero' R)]
+by classical; rw [X_pow_eq_monomial, support_monomial, if_neg (one_ne_zero' R)]
@[simp] lemma support_zero : (0 : mv_polynomial σ R).support = ∅ := rfl
@@ -432,7 +432,7 @@ lemma support_smul {S₁ : Type*} [smul_zero_class S₁ R] {a : S₁} {f : mv_po
(a • f).support ⊆ f.support :=
finsupp.support_smul
-lemma support_sum {α : Type*} {s : finset α} {f : α → mv_polynomial σ R} :
+lemma support_sum {α : Type*} [decidable_eq σ] {s : finset α} {f : α → mv_polynomial σ R} :
(∑ x in s, f x).support ⊆ s.bUnion (λ x, (f x).support) := finsupp.support_finset_sum
end support
@@ -455,7 +455,7 @@ lemma sum_def {A} [add_comm_monoid A] {p : mv_polynomial σ R} {b : (σ →₀
p.sum b = ∑ m in p.support, b m (p.coeff m) :=
by simp [support, finsupp.sum, coeff]
-lemma support_mul (p q : mv_polynomial σ R) :
+lemma support_mul [decidable_eq σ] (p q : mv_polynomial σ R) :
(p * q).support ⊆ p.support.bUnion (λ a, q.support.bUnion $ λ b, {a + b}) :=
by convert add_monoid_algebra.support_mul p q; ext; convert iff.rfl
@@ -525,11 +525,12 @@ by rw [← coeff_X_pow, pow_one]
@[simp] lemma coeff_X (i : σ) :
coeff (single i 1) (X i : mv_polynomial σ R) = 1 :=
-by rw [coeff_X', if_pos rfl]
+by classical; rw [coeff_X', if_pos rfl]
@[simp] lemma coeff_C_mul (m) (a : R) (p : mv_polynomial σ R) :
coeff m (C a * p) = a * coeff m p :=
begin
+ classical,
rw [mul_def, sum_C],
{ simp [sum_def, coeff_sum] {contextual := tt} },
simp
@@ -589,6 +590,7 @@ end
lemma coeff_mul_monomial' (m) (s : σ →₀ ℕ) (r : R) (p : mv_polynomial σ R) :
coeff m (p * monomial s r) = if s ≤ m then coeff (m - s) p * r else 0 :=
begin
+ classical,
obtain rfl | hr := eq_or_ne r 0,
{ simp only [monomial_zero, coeff_zero, mul_zero, if_t_t], },
haveI : nontrivial R := nontrivial_of_ne _ _ hr,
@@ -742,9 +744,12 @@ finsupp.sum_zero_index
section
@[simp] lemma eval₂_add : (p + q).eval₂ f g = p.eval₂ f g + q.eval₂ f g :=
-finsupp.sum_add_index
- (by simp [f.map_zero])
- (by simp [add_mul, f.map_add])
+begin
+ classical,
+ exact finsupp.sum_add_index
+ (by simp [f.map_zero])
+ (by simp [add_mul, f.map_add])
+end
@[simp] lemma eval₂_monomial : (monomial s a).eval₂ f g = f a * s.prod (λn e, g n ^ e) :=
finsupp.sum_single_index (by simp [f.map_zero])
@@ -761,6 +766,7 @@ by simp [eval₂_monomial, f.map_one, X, prod_single_index, pow_one]
lemma eval₂_mul_monomial :
∀{s a}, (p * monomial s a).eval₂ f g = p.eval₂ f g * f a * s.prod (λn e, g n ^ e) :=
begin
+ classical,
apply mv_polynomial.induction_on p,
{ assume a' s a,
simp [C_mul_monomial, eval₂_monomial, f.map_mul] },
@@ -994,6 +1000,7 @@ end
lemma coeff_map (p : mv_polynomial σ R) : ∀ (m : σ →₀ ℕ), coeff m (map f p) = f (coeff m p) :=
begin
+ classical,
apply mv_polynomial.induction_on p; clear p,
{ intros r m, rw [map_C], simp only [coeff_C], split_ifs, {refl}, rw f.map_zero },
{ intros p q hp hq m, simp only [hp, hq, (map f).map_add, coeff_add], rw f.map_add },
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
@@ -1297,6 +1297,44 @@ by { ext, simp only [aeval_X, aeval_tower_X] }
end aeval_tower
+section eval_mem
+
+variables {S subS : Type*} [comm_semiring S] [set_like subS S] [subsemiring_class subS S]
+
+theorem eval₂_mem {f : R →+* S}
+ {p : mv_polynomial σ R} {s : subS}
+ (hs : ∀ i ∈ p.support, f (p.coeff i) ∈ s) {v : σ → S} (hv : ∀ i, v i ∈ s) :
+ mv_polynomial.eval₂ f v p ∈ s :=
+begin
+ classical,
+ replace hs : ∀ i, f (p.coeff i) ∈ s,
+ { intro i,
+ by_cases hi : i ∈ p.support,
+ { exact hs i hi },
+ { rw [mv_polynomial.not_mem_support_iff.1 hi, f.map_zero],
+ exact zero_mem s } },
+ induction p using mv_polynomial.induction_on''' with a a b f ha hb0 ih generalizing hs,
+ { simpa using hs 0 },
+ rw [eval₂_add, eval₂_monomial],
+ refine add_mem (mul_mem _ $ prod_mem $ λ i hi, pow_mem (hv _) _) (ih $ λ i, _),
+ { simpa only [coeff_add, coeff_monomial, if_pos rfl,
+ mv_polynomial.not_mem_support_iff.1 ha, add_zero] using hs a },
+ have := hs i,
+ rw [coeff_add, coeff_monomial] at this,
+ split_ifs at this with h h,
+ { subst h,
+ rw [mv_polynomial.not_mem_support_iff.1 ha, map_zero],
+ exact zero_mem _ },
+ { rwa zero_add at this }
+end
+
+theorem eval_mem {p : mv_polynomial σ S} {s : subS}
+ (hs : ∀ i ∈ p.support, p.coeff i ∈ s) {v : σ → S} (hv : ∀ i, v i ∈ s) :
+ mv_polynomial.eval v p ∈ s :=
+eval₂_mem hs hv
+
+end eval_mem
+
end comm_semiring
end mv_polynomial
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
Most of these changes generalize from distrib_mul_action
to smul_zero_class
.
The new lemmas are all just proved using corresponding lemmas on the underlying types.
Co-authored-by: Hagb (Junyu Guo 郭俊余) <hagb_green@qq.com>
@@ -102,24 +102,27 @@ instance [monoid R] [comm_semiring S₁] [distrib_mul_action R S₁] :
distrib_mul_action R (mv_polynomial σ S₁) :=
add_monoid_algebra.distrib_mul_action
-instance [monoid R] [comm_semiring S₁] [distrib_mul_action R S₁] [has_faithful_smul R S₁] :
+instance [comm_semiring S₁] [smul_zero_class R S₁] : smul_zero_class R (mv_polynomial σ S₁) :=
+add_monoid_algebra.smul_zero_class
+
+instance [comm_semiring S₁] [smul_zero_class R S₁] [has_faithful_smul R S₁] :
has_faithful_smul R (mv_polynomial σ S₁) :=
add_monoid_algebra.has_faithful_smul
instance [semiring R] [comm_semiring S₁] [module R S₁] : module R (mv_polynomial σ S₁) :=
add_monoid_algebra.module
-instance [monoid R] [monoid S₁] [comm_semiring S₂]
- [has_smul R S₁] [distrib_mul_action R S₂] [distrib_mul_action S₁ S₂] [is_scalar_tower R S₁ S₂] :
+instance [comm_semiring S₂]
+ [has_smul R S₁] [smul_zero_class R S₂] [smul_zero_class S₁ S₂] [is_scalar_tower R S₁ S₂] :
is_scalar_tower R S₁ (mv_polynomial σ S₂) :=
add_monoid_algebra.is_scalar_tower
-instance [monoid R] [monoid S₁][comm_semiring S₂]
- [distrib_mul_action R S₂] [distrib_mul_action S₁ S₂] [smul_comm_class R S₁ S₂] :
+instance [comm_semiring S₂]
+ [smul_zero_class R S₂] [smul_zero_class S₁ S₂] [smul_comm_class R S₁ S₂] :
smul_comm_class R S₁ (mv_polynomial σ S₂) :=
add_monoid_algebra.smul_comm_class
-instance [monoid R] [comm_semiring S₁] [distrib_mul_action R S₁] [distrib_mul_action Rᵐᵒᵖ S₁]
+instance [comm_semiring S₁] [smul_zero_class R S₁] [smul_zero_class Rᵐᵒᵖ S₁]
[is_central_scalar R S₁] :
is_central_scalar R (mv_polynomial σ S₁) :=
add_monoid_algebra.is_central_scalar
@@ -218,6 +221,9 @@ lemma smul_eq_C_mul (p : mv_polynomial σ R) (a : R) : a • p = C a * p := C_mu
lemma C_eq_smul_one : (C a : mv_polynomial σ R) = a • 1 :=
by rw [← C_mul', mul_one]
+lemma smul_monomial {S₁ : Type*} [smul_zero_class S₁ R] (r : S₁) :
+ r • monomial s a = monomial s (r • a) := finsupp.smul_single _ _ _
+
lemma X_injective [nontrivial R] : function.injective (X : σ → mv_polynomial σ R) :=
(monomial_left_injective one_ne_zero).comp (finsupp.single_left_injective one_ne_zero)
@@ -422,7 +428,7 @@ by rw [X_pow_eq_monomial, support_monomial, if_neg (one_ne_zero' R)]
@[simp] lemma support_zero : (0 : mv_polynomial σ R).support = ∅ := rfl
-lemma support_smul [distrib_mul_action R S₁] {a : R} {f : mv_polynomial σ S₁} :
+lemma support_smul {S₁ : Type*} [smul_zero_class S₁ R] {a : S₁} {f : mv_polynomial σ R} :
(a • f).support ⊆ f.support :=
finsupp.support_smul
@@ -463,7 +469,7 @@ lemma ext_iff (p q : mv_polynomial σ R) :
@[simp] lemma coeff_add (m : σ →₀ ℕ) (p q : mv_polynomial σ R) :
coeff m (p + q) = coeff m p + coeff m q := add_apply p q m
-@[simp] lemma coeff_smul {S₁ : Type*} [monoid S₁] [distrib_mul_action S₁ R]
+@[simp] lemma coeff_smul {S₁ : Type*} [smul_zero_class S₁ R]
(m : σ →₀ ℕ) (c : S₁) (p : mv_polynomial σ R) :
coeff m (c • p) = c • coeff m p := smul_apply c p m
@@ -557,6 +563,10 @@ add_monoid_algebra.support_mul_single p _ (by simp) _
(X s * p).support = p.support.map (add_left_embedding (single s 1)) :=
add_monoid_algebra.support_single_mul p _ (by simp) _
+@[simp] lemma support_smul_eq {S₁ : Type*} [semiring S₁] [module S₁ R] [no_zero_smul_divisors S₁ R]
+ {a : S₁} (h : a ≠ 0) (p : mv_polynomial σ R) : (a • p).support = p.support :=
+finsupp.support_smul_eq h
+
lemma support_sdiff_support_subset_support_add [decidable_eq σ] (p q : mv_polynomial σ R) :
p.support \ q.support ⊆ (p + q).support :=
begin
@@ -626,6 +636,9 @@ lemma ne_zero_iff {p : mv_polynomial σ R} :
p ≠ 0 ↔ ∃ d, coeff d p ≠ 0 :=
by { rw [ne.def, eq_zero_iff], push_neg, }
+@[simp] lemma support_eq_empty {p : mv_polynomial σ R} : p.support = ∅ ↔ p = 0 :=
+finsupp.support_eq_empty
+
lemma exists_coeff_ne_zero {p : mv_polynomial σ R} (h : p ≠ 0) :
∃ d, coeff d p ≠ 0 :=
ne_zero_iff.mp h
@@ -675,7 +688,8 @@ variables (R)
by simp [constant_coeff_eq]
variables {R}
-@[simp] lemma constant_coeff_smul [distrib_mul_action R S₁] (a : R) (f : mv_polynomial σ S₁) :
+@[simp] lemma constant_coeff_smul {R : Type*} [smul_zero_class R S₁]
+ (a : R) (f : mv_polynomial σ S₁) :
constant_coeff (a • f) = a • constant_coeff f := rfl
lemma constant_coeff_monomial [decidable_eq σ] (d : σ →₀ ℕ) (r : R) :
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
This proof was timing out in https://github.com/leanprover-community/mathlib4/pull/3225, so I completely rewrote it using smaller lemmas. This is the backport.
Co-authored-by: Scott Morrison <scott.morrison@gmail.com>
@@ -901,6 +901,22 @@ begin
congr' with a, simp
end
+@[simp]
+theorem eval₂_id (p : mv_polynomial σ R) (g : σ → R) : eval₂ (ring_hom.id _) g p = eval g p :=
+ rfl
+
+theorem eval_eval₂ {τ : Type*} (f : R →+* mv_polynomial τ S₁) (g : σ → mv_polynomial τ S₁)
+ (p : mv_polynomial σ R) (x : τ → S₁) :
+ eval x (eval₂ f g p) = eval₂ ((eval x).comp f) (λ s, eval x (g s)) p :=
+begin
+ apply induction_on p,
+ { simp, },
+ { intros p q hp hq,
+ simp [hp, hq] },
+ { intros p n hp,
+ simp [hp] }
+end
+
end eval
section map
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
Also moves a lost lemma that belongs in an earlier file.
@@ -1099,6 +1099,9 @@ section aeval
variables [algebra R S₁] [comm_semiring S₂]
variables (f : σ → S₁)
+lemma algebra_map_apply (r : R) :
+ algebra_map R (mv_polynomial σ S₁) r = C (algebra_map R S₁ r) := rfl
+
/-- A map `σ → S₁` where `S₁` is an algebra over `R` generates an `R`-algebra homomorphism
from multivariate polynomials over `σ` to `S₁`. -/
def aeval : mv_polynomial σ R →ₐ[R] S₁ :=
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(first ported)
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -1326,8 +1326,8 @@ theorem map_eval₂Hom [CommSemiring S₂] (f : R →+* S₁) (g : σ → S₁)
#print MvPolynomial.eval₂Hom_monomial /-
theorem eval₂Hom_monomial (f : R →+* S₁) (g : σ → S₁) (d : σ →₀ ℕ) (r : R) :
eval₂Hom f g (monomial d r) = f r * d.Prod fun i k => g i ^ k := by
- simp only [monomial_eq, RingHom.map_mul, eval₂_hom_C, Finsupp.prod, RingHom.map_prod,
- RingHom.map_pow, eval₂_hom_X']
+ simp only [monomial_eq, RingHom.map_mul, eval₂_hom_C, Finsupp.prod, map_prod, RingHom.map_pow,
+ eval₂_hom_X']
#align mv_polynomial.eval₂_hom_monomial MvPolynomial.eval₂Hom_monomial
-/
@@ -1922,7 +1922,7 @@ theorem aeval_monomial (g : σ → S₁) (d : σ →₀ ℕ) (r : R) :
theorem eval₂Hom_eq_zero (f : R →+* S₂) (g : σ → S₂) (φ : MvPolynomial σ R)
(h : ∀ d, φ.coeff d ≠ 0 → ∃ i ∈ d.support, g i = 0) : eval₂Hom f g φ = 0 :=
by
- rw [φ.as_sum, RingHom.map_sum, Finset.sum_eq_zero]
+ rw [φ.as_sum, map_sum, Finset.sum_eq_zero]
intro d hd
obtain ⟨i, hi, hgi⟩ : ∃ i ∈ d.support, g i = 0 := h d (finsupp.mem_support_iff.mp hd)
rw [eval₂_hom_monomial, Finsupp.prod, Finset.prod_eq_zero hi, MulZeroClass.mul_zero]
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -267,7 +267,7 @@ theorem C_mul : (C (a * a') : MvPolynomial σ R) = C a * C a' :=
#print MvPolynomial.C_pow /-
@[simp]
theorem C_pow (a : R) (n : ℕ) : (C (a ^ n) : MvPolynomial σ R) = C a ^ n := by
- induction n <;> simp [pow_succ, *]
+ induction n <;> simp [pow_succ', *]
#align mv_polynomial.C_pow MvPolynomial.C_pow
-/
@@ -498,7 +498,7 @@ theorem induction_on_monomial {M : MvPolynomial σ R → Prop} (h_C : ∀ a, M (
intro e
induction e
· simp [ih]
- · simp [ih, pow_succ', (mul_assoc _ _ _).symm, h_X, e_ih]
+ · simp [ih, pow_succ, (mul_assoc _ _ _).symm, h_X, e_ih]
simp [add_comm, monomial_add_single, this]
#align mv_polynomial.induction_on_monomial MvPolynomial.induction_on_monomial
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -513,7 +513,7 @@ theorem induction_on' {P : MvPolynomial σ R → Prop} (p : MvPolynomial σ R)
(h1 : ∀ (u : σ →₀ ℕ) (a : R), P (monomial u a))
(h2 : ∀ p q : MvPolynomial σ R, P p → P q → P (p + q)) : P p :=
Finsupp.induction p
- (suffices P (monomial 0 0) by rwa [monomial_zero] at this
+ (suffices P (monomial 0 0) by rwa [monomial_zero] at this
show P (monomial 0 0) from h1 0 0)
fun a b f ha hb hPf => h2 _ _ (h1 _ _) hPf
#align mv_polynomial.induction_on' MvPolynomial.induction_on'
@@ -842,7 +842,7 @@ theorem coeff_X_pow [DecidableEq σ] (i : σ) (m) (k : ℕ) :
by
have := coeff_monomial m (Finsupp.single i k) (1 : R)
rwa [@monomial_eq _ _ (1 : R) (Finsupp.single i k) _, C_1, one_mul, Finsupp.prod_single_index] at
- this
+ this
exact pow_zero _
#align mv_polynomial.coeff_X_pow MvPolynomial.coeff_X_pow
-/
@@ -939,7 +939,7 @@ theorem support_sdiff_support_subset_support_add [DecidableEq σ] (p q : MvPolyn
p.support \ q.support ⊆ (p + q).support :=
by
intro m hm
- simp only [Classical.not_not, mem_support_iff, Finset.mem_sdiff, Ne.def] at hm
+ simp only [Classical.not_not, mem_support_iff, Finset.mem_sdiff, Ne.def] at hm
simp [hm.2, hm.1]
#align mv_polynomial.support_sdiff_support_subset_support_add MvPolynomial.support_sdiff_support_subset_support_add
-/
@@ -968,10 +968,10 @@ theorem coeff_mul_monomial' (m) (s : σ →₀ ℕ) (r : R) (p : MvPolynomial σ
congr with t
rw [tsub_add_cancel_of_le h]
· rw [← not_mem_support_iff]; intro hm; apply h
- have H := support_mul _ _ hm; simp only [Finset.mem_biUnion] at H
+ have H := support_mul _ _ hm; simp only [Finset.mem_biUnion] at H
rcases H with ⟨j, hj, i', hi', H⟩
- rw [support_monomial, if_neg hr, Finset.mem_singleton] at hi' ; subst i'
- rw [Finset.mem_singleton] at H ; subst m
+ rw [support_monomial, if_neg hr, Finset.mem_singleton] at hi'; subst i'
+ rw [Finset.mem_singleton] at H; subst m
exact le_add_left le_rfl
#align mv_polynomial.coeff_mul_monomial' MvPolynomial.coeff_mul_monomial'
-/
@@ -1047,7 +1047,7 @@ theorem C_dvd_iff_dvd_coeff (r : R) (φ : MvPolynomial σ R) : C r ∣ φ ↔
simp only [coeff_C_mul, coeff_sum, coeff_monomial, Finset.sum_ite_eq', c']
split_ifs with hi hi
· rw [hc]
- · rw [not_mem_support_iff] at hi ; rwa [MulZeroClass.mul_zero]
+ · rw [not_mem_support_iff] at hi; rwa [MulZeroClass.mul_zero]
#align mv_polynomial.C_dvd_iff_dvd_coeff MvPolynomial.C_dvd_iff_dvd_coeff
-/
@@ -1360,7 +1360,7 @@ theorem eval₂_congr (g₁ g₂ : σ → S₁)
apply Finset.prod_congr rfl
intro i hi; dsimp; congr 1
apply h hi
- rwa [Finsupp.mem_support_iff] at hc
+ rwa [Finsupp.mem_support_iff] at hc
#align mv_polynomial.eval₂_congr MvPolynomial.eval₂_congr
-/
@@ -1548,7 +1548,7 @@ theorem eval₂_eq_eval_map (g : σ → S₁) (p : MvPolynomial σ R) : p.eval
by
unfold map eval; simp only [coe_eval₂_hom]
have h := eval₂_comp_left (eval₂_hom _ g)
- dsimp at h
+ dsimp at h
rw [h]
congr
· ext1 a; simp only [coe_eval₂_hom, RingHom.id_apply, comp_app, eval₂_C, RingHom.coe_comp]
@@ -1696,8 +1696,8 @@ theorem support_map_of_injective (p : MvPolynomial σ R) {f : R →+* S₁} (hf
rw [mem_support_iff]
contrapose! hx
simp only [Classical.not_not, mem_support_iff]
- change (map f p).coeff x = 0 at hx
- rw [coeff_map, ← f.map_zero] at hx
+ change (map f p).coeff x = 0 at hx
+ rw [coeff_map, ← f.map_zero] at hx
exact hf hx
#align mv_polynomial.support_map_of_injective MvPolynomial.support_map_of_injective
-/
@@ -2082,12 +2082,12 @@ theorem eval₂_mem {f : R →+* S} {p : MvPolynomial σ R} {s : subS}
simpa only [coeff_add, coeff_monomial, if_pos rfl, MvPolynomial.not_mem_support_iff.1 ha,
add_zero] using hs a
have := hs i
- rw [coeff_add, coeff_monomial] at this
- split_ifs at this with h h
+ rw [coeff_add, coeff_monomial] at this
+ split_ifs at this with h h
· subst h
rw [MvPolynomial.not_mem_support_iff.1 ha, map_zero]
exact zero_mem _
- · rwa [zero_add] at this
+ · rwa [zero_add] at this
#align mv_polynomial.eval₂_mem MvPolynomial.eval₂_mem
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -103,7 +103,7 @@ section Instances
#print MvPolynomial.decidableEqMvPolynomial /-
instance decidableEqMvPolynomial [CommSemiring R] [DecidableEq σ] [DecidableEq R] :
DecidableEq (MvPolynomial σ R) :=
- Finsupp.decidableEq
+ Finsupp.instDecidableEq
#align mv_polynomial.decidable_eq_mv_polynomial MvPolynomial.decidableEqMvPolynomial
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -664,13 +664,15 @@ theorem support_add [DecidableEq σ] : (p + q).support ⊆ p.support ∪ q.suppo
-/
#print MvPolynomial.support_X /-
-theorem support_X [Nontrivial R] : (X n : MvPolynomial σ R).support = {single n 1} := by classical
+theorem support_X [Nontrivial R] : (X n : MvPolynomial σ R).support = {single n 1} := by
+ classical rw [X, support_monomial, if_neg] <;> exact one_ne_zero
#align mv_polynomial.support_X MvPolynomial.support_X
-/
#print MvPolynomial.support_X_pow /-
theorem support_X_pow [Nontrivial R] (s : σ) (n : ℕ) :
- (X s ^ n : MvPolynomial σ R).support = {Finsupp.single s n} := by classical
+ (X s ^ n : MvPolynomial σ R).support = {Finsupp.single s n} := by
+ classical rw [X_pow_eq_monomial, support_monomial, if_neg (one_ne_zero' R)]
#align mv_polynomial.support_X_pow MvPolynomial.support_X_pow
-/
@@ -854,7 +856,8 @@ theorem coeff_X' [DecidableEq σ] (i : σ) (m) :
#print MvPolynomial.coeff_X /-
@[simp]
-theorem coeff_X (i : σ) : coeff (single i 1) (X i : MvPolynomial σ R) = 1 := by classical
+theorem coeff_X (i : σ) : coeff (single i 1) (X i : MvPolynomial σ R) = 1 := by
+ classical rw [coeff_X', if_pos rfl]
#align mv_polynomial.coeff_X MvPolynomial.coeff_X
-/
@@ -862,6 +865,9 @@ theorem coeff_X (i : σ) : coeff (single i 1) (X i : MvPolynomial σ R) = 1 := b
@[simp]
theorem coeff_C_mul (m) (a : R) (p : MvPolynomial σ R) : coeff m (C a * p) = a * coeff m p := by
classical
+ rw [mul_def, sum_C]
+ · simp (config := { contextual := true }) [sum_def, coeff_sum]
+ simp
#align mv_polynomial.coeff_C_mul MvPolynomial.coeff_C_mul
-/
@@ -952,7 +958,21 @@ theorem support_symmDiff_support_subset_support_add [DecidableEq σ] (p q : MvPo
#print MvPolynomial.coeff_mul_monomial' /-
theorem coeff_mul_monomial' (m) (s : σ →₀ ℕ) (r : R) (p : MvPolynomial σ R) :
- coeff m (p * monomial s r) = if s ≤ m then coeff (m - s) p * r else 0 := by classical
+ coeff m (p * monomial s r) = if s ≤ m then coeff (m - s) p * r else 0 := by
+ classical
+ obtain rfl | hr := eq_or_ne r 0
+ · simp only [monomial_zero, coeff_zero, MulZeroClass.mul_zero, if_t_t]
+ haveI : Nontrivial R := nontrivial_of_ne _ _ hr
+ split_ifs with h h
+ · conv_rhs => rw [← coeff_mul_monomial _ s]
+ congr with t
+ rw [tsub_add_cancel_of_le h]
+ · rw [← not_mem_support_iff]; intro hm; apply h
+ have H := support_mul _ _ hm; simp only [Finset.mem_biUnion] at H
+ rcases H with ⟨j, hj, i', hi', H⟩
+ rw [support_monomial, if_neg hr, Finset.mem_singleton] at hi' ; subst i'
+ rw [Finset.mem_singleton] at H ; subst m
+ exact le_add_left le_rfl
#align mv_polynomial.coeff_mul_monomial' MvPolynomial.coeff_mul_monomial'
-/
@@ -1019,6 +1039,15 @@ theorem C_dvd_iff_dvd_coeff (r : R) (φ : MvPolynomial σ R) : C r ∣ φ ↔
· intro h
choose c hc using h
classical
+ let c' : (σ →₀ ℕ) → R := fun i => if i ∈ φ.support then c i else 0
+ let ψ : MvPolynomial σ R := ∑ i in φ.support, monomial i (c' i)
+ use ψ
+ apply MvPolynomial.ext
+ intro i
+ simp only [coeff_C_mul, coeff_sum, coeff_monomial, Finset.sum_ite_eq', c']
+ split_ifs with hi hi
+ · rw [hc]
+ · rw [not_mem_support_iff] at hi ; rwa [MulZeroClass.mul_zero]
#align mv_polynomial.C_dvd_iff_dvd_coeff MvPolynomial.C_dvd_iff_dvd_coeff
-/
@@ -1157,7 +1186,8 @@ section
#print MvPolynomial.eval₂_add /-
@[simp]
-theorem eval₂_add : (p + q).eval₂ f g = p.eval₂ f g + q.eval₂ f g := by classical
+theorem eval₂_add : (p + q).eval₂ f g = p.eval₂ f g + q.eval₂ f g := by
+ classical exact Finsupp.sum_add_index (by simp [f.map_zero]) (by simp [add_mul, f.map_add])
#align mv_polynomial.eval₂_add MvPolynomial.eval₂_add
-/
@@ -1193,6 +1223,18 @@ theorem eval₂_X (n) : (X n).eval₂ f g = g n := by
theorem eval₂_mul_monomial :
∀ {s a}, (p * monomial s a).eval₂ f g = p.eval₂ f g * f a * s.Prod fun n e => g n ^ e := by
classical
+ apply MvPolynomial.induction_on p
+ · intro a' s a
+ simp [C_mul_monomial, eval₂_monomial, f.map_mul]
+ · intro p q ih_p ih_q; simp [add_mul, eval₂_add, ih_p, ih_q]
+ · intro p n ih s a
+ exact
+ calc
+ (p * X n * monomial s a).eval₂ f g = (p * monomial (single n 1 + s) a).eval₂ f g := by
+ rw [monomial_single_add, pow_one, mul_assoc]
+ _ = (p * monomial (single n 1) 1).eval₂ f g * f a * s.prod fun n e => g n ^ e := by
+ simp [ih, prod_single_index, prod_add_index, pow_one, pow_add, mul_assoc, mul_left_comm,
+ f.map_one, -add_comm]
#align mv_polynomial.eval₂_mul_monomial MvPolynomial.eval₂_mul_monomial
-/
@@ -1541,6 +1583,13 @@ theorem map_eval₂ (f : R →+* S₁) (g : S₂ → MvPolynomial S₃ R) (p : M
#print MvPolynomial.coeff_map /-
theorem coeff_map (p : MvPolynomial σ R) : ∀ m : σ →₀ ℕ, coeff m (map f p) = f (coeff m p) := by
classical
+ apply MvPolynomial.induction_on p <;> clear p
+ · intro r m; rw [map_C]; simp only [coeff_C]; split_ifs; · rfl; rw [f.map_zero]
+ · intro p q hp hq m; simp only [hp, hq, (map f).map_add, coeff_add]; rw [f.map_add]
+ · intro p i hp m; simp only [hp, (map f).map_hMul, map_X]
+ simp only [hp, mem_support_iff, coeff_mul_X']
+ split_ifs; · rfl
+ rw [f.map_zero]
#align mv_polynomial.coeff_map MvPolynomial.coeff_map
-/
@@ -2017,7 +2066,28 @@ variable {S subS : Type _} [CommSemiring S] [SetLike subS S] [SubsemiringClass s
#print MvPolynomial.eval₂_mem /-
theorem eval₂_mem {f : R →+* S} {p : MvPolynomial σ R} {s : subS}
(hs : ∀ i ∈ p.support, f (p.coeff i) ∈ s) {v : σ → S} (hv : ∀ i, v i ∈ s) :
- MvPolynomial.eval₂ f v p ∈ s := by classical
+ MvPolynomial.eval₂ f v p ∈ s := by
+ classical
+ replace hs : ∀ i, f (p.coeff i) ∈ s
+ · intro i
+ by_cases hi : i ∈ p.support
+ · exact hs i hi
+ · rw [MvPolynomial.not_mem_support_iff.1 hi, f.map_zero]
+ exact zero_mem s
+ induction' p using MvPolynomial.induction_on''' with a a b f ha hb0 ih generalizing hs
+ · simpa using hs 0
+ rw [eval₂_add, eval₂_monomial]
+ refine' add_mem (mul_mem _ <| prod_mem fun i hi => pow_mem (hv _) _) (ih fun i => _)
+ ·
+ simpa only [coeff_add, coeff_monomial, if_pos rfl, MvPolynomial.not_mem_support_iff.1 ha,
+ add_zero] using hs a
+ have := hs i
+ rw [coeff_add, coeff_monomial] at this
+ split_ifs at this with h h
+ · subst h
+ rw [MvPolynomial.not_mem_support_iff.1 ha, map_zero]
+ exact zero_mem _
+ · rwa [zero_add] at this
#align mv_polynomial.eval₂_mem MvPolynomial.eval₂_mem
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -664,15 +664,13 @@ theorem support_add [DecidableEq σ] : (p + q).support ⊆ p.support ∪ q.suppo
-/
#print MvPolynomial.support_X /-
-theorem support_X [Nontrivial R] : (X n : MvPolynomial σ R).support = {single n 1} := by
- classical rw [X, support_monomial, if_neg] <;> exact one_ne_zero
+theorem support_X [Nontrivial R] : (X n : MvPolynomial σ R).support = {single n 1} := by classical
#align mv_polynomial.support_X MvPolynomial.support_X
-/
#print MvPolynomial.support_X_pow /-
theorem support_X_pow [Nontrivial R] (s : σ) (n : ℕ) :
- (X s ^ n : MvPolynomial σ R).support = {Finsupp.single s n} := by
- classical rw [X_pow_eq_monomial, support_monomial, if_neg (one_ne_zero' R)]
+ (X s ^ n : MvPolynomial σ R).support = {Finsupp.single s n} := by classical
#align mv_polynomial.support_X_pow MvPolynomial.support_X_pow
-/
@@ -856,8 +854,7 @@ theorem coeff_X' [DecidableEq σ] (i : σ) (m) :
#print MvPolynomial.coeff_X /-
@[simp]
-theorem coeff_X (i : σ) : coeff (single i 1) (X i : MvPolynomial σ R) = 1 := by
- classical rw [coeff_X', if_pos rfl]
+theorem coeff_X (i : σ) : coeff (single i 1) (X i : MvPolynomial σ R) = 1 := by classical
#align mv_polynomial.coeff_X MvPolynomial.coeff_X
-/
@@ -865,9 +862,6 @@ theorem coeff_X (i : σ) : coeff (single i 1) (X i : MvPolynomial σ R) = 1 := b
@[simp]
theorem coeff_C_mul (m) (a : R) (p : MvPolynomial σ R) : coeff m (C a * p) = a * coeff m p := by
classical
- rw [mul_def, sum_C]
- · simp (config := { contextual := true }) [sum_def, coeff_sum]
- simp
#align mv_polynomial.coeff_C_mul MvPolynomial.coeff_C_mul
-/
@@ -958,21 +952,7 @@ theorem support_symmDiff_support_subset_support_add [DecidableEq σ] (p q : MvPo
#print MvPolynomial.coeff_mul_monomial' /-
theorem coeff_mul_monomial' (m) (s : σ →₀ ℕ) (r : R) (p : MvPolynomial σ R) :
- coeff m (p * monomial s r) = if s ≤ m then coeff (m - s) p * r else 0 := by
- classical
- obtain rfl | hr := eq_or_ne r 0
- · simp only [monomial_zero, coeff_zero, MulZeroClass.mul_zero, if_t_t]
- haveI : Nontrivial R := nontrivial_of_ne _ _ hr
- split_ifs with h h
- · conv_rhs => rw [← coeff_mul_monomial _ s]
- congr with t
- rw [tsub_add_cancel_of_le h]
- · rw [← not_mem_support_iff]; intro hm; apply h
- have H := support_mul _ _ hm; simp only [Finset.mem_biUnion] at H
- rcases H with ⟨j, hj, i', hi', H⟩
- rw [support_monomial, if_neg hr, Finset.mem_singleton] at hi' ; subst i'
- rw [Finset.mem_singleton] at H ; subst m
- exact le_add_left le_rfl
+ coeff m (p * monomial s r) = if s ≤ m then coeff (m - s) p * r else 0 := by classical
#align mv_polynomial.coeff_mul_monomial' MvPolynomial.coeff_mul_monomial'
-/
@@ -1039,15 +1019,6 @@ theorem C_dvd_iff_dvd_coeff (r : R) (φ : MvPolynomial σ R) : C r ∣ φ ↔
· intro h
choose c hc using h
classical
- let c' : (σ →₀ ℕ) → R := fun i => if i ∈ φ.support then c i else 0
- let ψ : MvPolynomial σ R := ∑ i in φ.support, monomial i (c' i)
- use ψ
- apply MvPolynomial.ext
- intro i
- simp only [coeff_C_mul, coeff_sum, coeff_monomial, Finset.sum_ite_eq', c']
- split_ifs with hi hi
- · rw [hc]
- · rw [not_mem_support_iff] at hi ; rwa [MulZeroClass.mul_zero]
#align mv_polynomial.C_dvd_iff_dvd_coeff MvPolynomial.C_dvd_iff_dvd_coeff
-/
@@ -1186,8 +1157,7 @@ section
#print MvPolynomial.eval₂_add /-
@[simp]
-theorem eval₂_add : (p + q).eval₂ f g = p.eval₂ f g + q.eval₂ f g := by
- classical exact Finsupp.sum_add_index (by simp [f.map_zero]) (by simp [add_mul, f.map_add])
+theorem eval₂_add : (p + q).eval₂ f g = p.eval₂ f g + q.eval₂ f g := by classical
#align mv_polynomial.eval₂_add MvPolynomial.eval₂_add
-/
@@ -1223,18 +1193,6 @@ theorem eval₂_X (n) : (X n).eval₂ f g = g n := by
theorem eval₂_mul_monomial :
∀ {s a}, (p * monomial s a).eval₂ f g = p.eval₂ f g * f a * s.Prod fun n e => g n ^ e := by
classical
- apply MvPolynomial.induction_on p
- · intro a' s a
- simp [C_mul_monomial, eval₂_monomial, f.map_mul]
- · intro p q ih_p ih_q; simp [add_mul, eval₂_add, ih_p, ih_q]
- · intro p n ih s a
- exact
- calc
- (p * X n * monomial s a).eval₂ f g = (p * monomial (single n 1 + s) a).eval₂ f g := by
- rw [monomial_single_add, pow_one, mul_assoc]
- _ = (p * monomial (single n 1) 1).eval₂ f g * f a * s.prod fun n e => g n ^ e := by
- simp [ih, prod_single_index, prod_add_index, pow_one, pow_add, mul_assoc, mul_left_comm,
- f.map_one, -add_comm]
#align mv_polynomial.eval₂_mul_monomial MvPolynomial.eval₂_mul_monomial
-/
@@ -1583,13 +1541,6 @@ theorem map_eval₂ (f : R →+* S₁) (g : S₂ → MvPolynomial S₃ R) (p : M
#print MvPolynomial.coeff_map /-
theorem coeff_map (p : MvPolynomial σ R) : ∀ m : σ →₀ ℕ, coeff m (map f p) = f (coeff m p) := by
classical
- apply MvPolynomial.induction_on p <;> clear p
- · intro r m; rw [map_C]; simp only [coeff_C]; split_ifs; · rfl; rw [f.map_zero]
- · intro p q hp hq m; simp only [hp, hq, (map f).map_add, coeff_add]; rw [f.map_add]
- · intro p i hp m; simp only [hp, (map f).map_hMul, map_X]
- simp only [hp, mem_support_iff, coeff_mul_X']
- split_ifs; · rfl
- rw [f.map_zero]
#align mv_polynomial.coeff_map MvPolynomial.coeff_map
-/
@@ -2066,28 +2017,7 @@ variable {S subS : Type _} [CommSemiring S] [SetLike subS S] [SubsemiringClass s
#print MvPolynomial.eval₂_mem /-
theorem eval₂_mem {f : R →+* S} {p : MvPolynomial σ R} {s : subS}
(hs : ∀ i ∈ p.support, f (p.coeff i) ∈ s) {v : σ → S} (hv : ∀ i, v i ∈ s) :
- MvPolynomial.eval₂ f v p ∈ s := by
- classical
- replace hs : ∀ i, f (p.coeff i) ∈ s
- · intro i
- by_cases hi : i ∈ p.support
- · exact hs i hi
- · rw [MvPolynomial.not_mem_support_iff.1 hi, f.map_zero]
- exact zero_mem s
- induction' p using MvPolynomial.induction_on''' with a a b f ha hb0 ih generalizing hs
- · simpa using hs 0
- rw [eval₂_add, eval₂_monomial]
- refine' add_mem (mul_mem _ <| prod_mem fun i hi => pow_mem (hv _) _) (ih fun i => _)
- ·
- simpa only [coeff_add, coeff_monomial, if_pos rfl, MvPolynomial.not_mem_support_iff.1 ha,
- add_zero] using hs a
- have := hs i
- rw [coeff_add, coeff_monomial] at this
- split_ifs at this with h h
- · subst h
- rw [MvPolynomial.not_mem_support_iff.1 ha, map_zero]
- exact zero_mem _
- · rwa [zero_add] at this
+ MvPolynomial.eval₂ f v p ∈ s := by classical
#align mv_polynomial.eval₂_mem MvPolynomial.eval₂_mem
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -3,11 +3,11 @@ 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
-/
-import Mathbin.Algebra.Algebra.Tower
-import Mathbin.Algebra.MonoidAlgebra.Support
-import Mathbin.Data.Finsupp.Antidiagonal
-import Mathbin.Order.SymmDiff
-import Mathbin.RingTheory.Adjoin.Basic
+import Algebra.Algebra.Tower
+import Algebra.MonoidAlgebra.Support
+import Data.Finsupp.Antidiagonal
+import Order.SymmDiff
+import RingTheory.Adjoin.Basic
#align_import data.mv_polynomial.basic from "leanprover-community/mathlib"@"c8734e8953e4b439147bd6f75c2163f6d27cdce6"
mathlib commit https://github.com/leanprover-community/mathlib/commit/32a7e535287f9c73f2e4d2aef306a39190f0b504
@@ -1441,7 +1441,7 @@ theorem eval_X : ∀ n, eval f (X n) = f n :=
#print MvPolynomial.smul_eval /-
@[simp]
theorem smul_eval (x) (p : MvPolynomial σ R) (s) : eval x (s • p) = s * eval x p := by
- rw [smul_eq_C_mul, (eval x).map_mul, eval_C]
+ rw [smul_eq_C_mul, (eval x).map_hMul, eval_C]
#align mv_polynomial.smul_eval MvPolynomial.smul_eval
-/
@@ -1564,7 +1564,7 @@ theorem eval₂_comp_right {S₂} [CommSemiring S₂] (k : S₁ →+* S₂) (f :
· intro r; rw [eval₂_C, map_C, eval₂_C]
· intro p q hp hq; rw [eval₂_add, k.map_add, (map f).map_add, eval₂_add, hp, hq]
· intro p s hp
- rw [eval₂_mul, k.map_mul, (map f).map_mul, eval₂_mul, map_X, hp, eval₂_X, eval₂_X]
+ rw [eval₂_mul, k.map_mul, (map f).map_hMul, eval₂_mul, map_X, hp, eval₂_X, eval₂_X]
#align mv_polynomial.eval₂_comp_right MvPolynomial.eval₂_comp_right
-/
@@ -1576,7 +1576,7 @@ theorem map_eval₂ (f : R →+* S₁) (g : S₂ → MvPolynomial S₃ R) (p : M
· intro r; rw [eval₂_C, map_C, map_C, eval₂_C]
· intro p q hp hq; rw [eval₂_add, (map f).map_add, hp, hq, (map f).map_add, eval₂_add]
· intro p s hp
- rw [eval₂_mul, (map f).map_mul, hp, (map f).map_mul, map_X, eval₂_mul, eval₂_X, eval₂_X]
+ rw [eval₂_mul, (map f).map_hMul, hp, (map f).map_hMul, map_X, eval₂_mul, eval₂_X, eval₂_X]
#align mv_polynomial.map_eval₂ MvPolynomial.map_eval₂
-/
@@ -1586,7 +1586,7 @@ theorem coeff_map (p : MvPolynomial σ R) : ∀ m : σ →₀ ℕ, coeff m (map
apply MvPolynomial.induction_on p <;> clear p
· intro r m; rw [map_C]; simp only [coeff_C]; split_ifs; · rfl; rw [f.map_zero]
· intro p q hp hq m; simp only [hp, hq, (map f).map_add, coeff_add]; rw [f.map_add]
- · intro p i hp m; simp only [hp, (map f).map_mul, map_X]
+ · intro p i hp m; simp only [hp, (map f).map_hMul, map_X]
simp only [hp, mem_support_iff, coeff_mul_X']
split_ifs; · rfl
rw [f.map_zero]
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -2,11 +2,6 @@
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.basic
-! leanprover-community/mathlib commit c8734e8953e4b439147bd6f75c2163f6d27cdce6
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathbin.Algebra.Algebra.Tower
import Mathbin.Algebra.MonoidAlgebra.Support
@@ -14,6 +9,8 @@ import Mathbin.Data.Finsupp.Antidiagonal
import Mathbin.Order.SymmDiff
import Mathbin.RingTheory.Adjoin.Basic
+#align_import data.mv_polynomial.basic from "leanprover-community/mathlib"@"c8734e8953e4b439147bd6f75c2163f6d27cdce6"
+
/-!
# Multivariate polynomials
mathlib commit https://github.com/leanprover-community/mathlib/commit/5dc6092d09e5e489106865241986f7f2ad28d4c8
@@ -155,7 +155,7 @@ instance isScalarTower_right [CommSemiring S₁] [DistribSMul R S₁] [IsScalarT
#print MvPolynomial.smulCommClass_right /-
instance smulCommClass_right [CommSemiring S₁] [DistribSMul R S₁] [SMulCommClass R S₁ S₁] :
SMulCommClass R (MvPolynomial σ S₁) (MvPolynomial σ S₁) :=
- AddMonoidAlgebra.sMulCommClass_self _
+ AddMonoidAlgebra.smulCommClass_self _
#align mv_polynomial.smul_comm_class_right MvPolynomial.smulCommClass_right
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/2a0ce625dbb0ffbc7d1316597de0b25c1ec75303
@@ -145,15 +145,19 @@ instance [CommSemiring S₁] [SMulZeroClass R S₁] [SMulZeroClass Rᵐᵒᵖ S
instance [CommSemiring R] [CommSemiring S₁] [Algebra R S₁] : Algebra R (MvPolynomial σ S₁) :=
AddMonoidAlgebra.algebra
+#print MvPolynomial.isScalarTower_right /-
instance isScalarTower_right [CommSemiring S₁] [DistribSMul R S₁] [IsScalarTower R S₁ S₁] :
IsScalarTower R (MvPolynomial σ S₁) (MvPolynomial σ S₁) :=
AddMonoidAlgebra.isScalarTower_self _
#align mv_polynomial.is_scalar_tower_right MvPolynomial.isScalarTower_right
+-/
-instance sMulCommClass_right [CommSemiring S₁] [DistribSMul R S₁] [SMulCommClass R S₁ S₁] :
+#print MvPolynomial.smulCommClass_right /-
+instance smulCommClass_right [CommSemiring S₁] [DistribSMul R S₁] [SMulCommClass R S₁ S₁] :
SMulCommClass R (MvPolynomial σ S₁) (MvPolynomial σ S₁) :=
AddMonoidAlgebra.sMulCommClass_self _
-#align mv_polynomial.smul_comm_class_right MvPolynomial.sMulCommClass_right
+#align mv_polynomial.smul_comm_class_right MvPolynomial.smulCommClass_right
+-/
#print MvPolynomial.unique /-
/-- If `R` is a subsingleton, then `mv_polynomial σ R` has a unique element -/
mathlib commit https://github.com/leanprover-community/mathlib/commit/9f55d0d4363ae59948c33864cbc52e0b12e0e8ce
@@ -4,7 +4,7 @@ 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.basic
-! leanprover-community/mathlib commit 2f5b500a507264de86d666a5f87ddb976e2d8de4
+! leanprover-community/mathlib commit c8734e8953e4b439147bd6f75c2163f6d27cdce6
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -145,13 +145,15 @@ instance [CommSemiring S₁] [SMulZeroClass R S₁] [SMulZeroClass Rᵐᵒᵖ S
instance [CommSemiring R] [CommSemiring S₁] [Algebra R S₁] : Algebra R (MvPolynomial σ S₁) :=
AddMonoidAlgebra.algebra
-#print MvPolynomial.isScalarTower' /-
--- Register with high priority to avoid timeout in `data.mv_polynomial.pderiv`
-instance isScalarTower' [CommSemiring R] [CommSemiring S₁] [Algebra R S₁] :
+instance isScalarTower_right [CommSemiring S₁] [DistribSMul R S₁] [IsScalarTower R S₁ S₁] :
IsScalarTower R (MvPolynomial σ S₁) (MvPolynomial σ S₁) :=
- IsScalarTower.right
-#align mv_polynomial.is_scalar_tower' MvPolynomial.isScalarTower'
--/
+ AddMonoidAlgebra.isScalarTower_self _
+#align mv_polynomial.is_scalar_tower_right MvPolynomial.isScalarTower_right
+
+instance sMulCommClass_right [CommSemiring S₁] [DistribSMul R S₁] [SMulCommClass R S₁ S₁] :
+ SMulCommClass R (MvPolynomial σ S₁) (MvPolynomial σ S₁) :=
+ AddMonoidAlgebra.sMulCommClass_self _
+#align mv_polynomial.smul_comm_class_right MvPolynomial.sMulCommClass_right
#print MvPolynomial.unique /-
/-- If `R` is a subsingleton, then `mv_polynomial σ R` has a unique element -/
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -145,11 +145,13 @@ instance [CommSemiring S₁] [SMulZeroClass R S₁] [SMulZeroClass Rᵐᵒᵖ S
instance [CommSemiring R] [CommSemiring S₁] [Algebra R S₁] : Algebra R (MvPolynomial σ S₁) :=
AddMonoidAlgebra.algebra
+#print MvPolynomial.isScalarTower' /-
-- Register with high priority to avoid timeout in `data.mv_polynomial.pderiv`
instance isScalarTower' [CommSemiring R] [CommSemiring S₁] [Algebra R S₁] :
IsScalarTower R (MvPolynomial σ S₁) (MvPolynomial σ S₁) :=
IsScalarTower.right
#align mv_polynomial.is_scalar_tower' MvPolynomial.isScalarTower'
+-/
#print MvPolynomial.unique /-
/-- If `R` is a subsingleton, then `mv_polynomial σ R` has a unique element -/
@@ -169,13 +171,17 @@ def monomial (s : σ →₀ ℕ) : R →ₗ[R] MvPolynomial σ R :=
#align mv_polynomial.monomial MvPolynomial.monomial
-/
+#print MvPolynomial.single_eq_monomial /-
theorem single_eq_monomial (s : σ →₀ ℕ) (a : R) : single s a = monomial s a :=
rfl
#align mv_polynomial.single_eq_monomial MvPolynomial.single_eq_monomial
+-/
+#print MvPolynomial.mul_def /-
theorem mul_def : p * q = p.Sum fun m a => q.Sum fun n b => monomial (m + n) (a * b) :=
rfl
#align mv_polynomial.mul_def MvPolynomial.mul_def
+-/
#print MvPolynomial.C /-
/-- `C a` is the constant polynomial with value `a` -/
@@ -186,9 +192,11 @@ def C : R →+* MvPolynomial σ R :=
variable (R σ)
+#print MvPolynomial.algebraMap_eq /-
theorem algebraMap_eq : algebraMap R (MvPolynomial σ R) = C :=
rfl
#align mv_polynomial.algebra_map_eq MvPolynomial.algebraMap_eq
+-/
variable {R σ}
@@ -199,66 +207,90 @@ def X (n : σ) : MvPolynomial σ R :=
#align mv_polynomial.X MvPolynomial.X
-/
+#print MvPolynomial.monomial_left_injective /-
theorem monomial_left_injective {r : R} (hr : r ≠ 0) :
Function.Injective fun s : σ →₀ ℕ => monomial s r :=
Finsupp.single_left_injective hr
#align mv_polynomial.monomial_left_injective MvPolynomial.monomial_left_injective
+-/
+#print MvPolynomial.monomial_left_inj /-
@[simp]
theorem monomial_left_inj {s t : σ →₀ ℕ} {r : R} (hr : r ≠ 0) :
monomial s r = monomial t r ↔ s = t :=
Finsupp.single_left_inj hr
#align mv_polynomial.monomial_left_inj MvPolynomial.monomial_left_inj
+-/
+#print MvPolynomial.C_apply /-
theorem C_apply : (C a : MvPolynomial σ R) = monomial 0 a :=
rfl
#align mv_polynomial.C_apply MvPolynomial.C_apply
+-/
+#print MvPolynomial.C_0 /-
@[simp]
theorem C_0 : C 0 = (0 : MvPolynomial σ R) := by simp [C_apply, monomial]
#align mv_polynomial.C_0 MvPolynomial.C_0
+-/
+#print MvPolynomial.C_1 /-
@[simp]
theorem C_1 : C 1 = (1 : MvPolynomial σ R) :=
rfl
#align mv_polynomial.C_1 MvPolynomial.C_1
+-/
+#print MvPolynomial.C_mul_monomial /-
theorem C_mul_monomial : C a * monomial s a' = monomial s (a * a') := by
simp [C_apply, monomial, single_mul_single]
#align mv_polynomial.C_mul_monomial MvPolynomial.C_mul_monomial
+-/
+#print MvPolynomial.C_add /-
@[simp]
theorem C_add : (C (a + a') : MvPolynomial σ R) = C a + C a' :=
single_add _ _ _
#align mv_polynomial.C_add MvPolynomial.C_add
+-/
+#print MvPolynomial.C_mul /-
@[simp]
theorem C_mul : (C (a * a') : MvPolynomial σ R) = C a * C a' :=
C_mul_monomial.symm
#align mv_polynomial.C_mul MvPolynomial.C_mul
+-/
+#print MvPolynomial.C_pow /-
@[simp]
theorem C_pow (a : R) (n : ℕ) : (C (a ^ n) : MvPolynomial σ R) = C a ^ n := by
induction n <;> simp [pow_succ, *]
#align mv_polynomial.C_pow MvPolynomial.C_pow
+-/
+#print MvPolynomial.C_injective /-
theorem C_injective (σ : Type _) (R : Type _) [CommSemiring R] :
Function.Injective (C : R → MvPolynomial σ R) :=
Finsupp.single_injective _
#align mv_polynomial.C_injective MvPolynomial.C_injective
+-/
+#print MvPolynomial.C_surjective /-
theorem C_surjective {R : Type _} [CommSemiring R] (σ : Type _) [IsEmpty σ] :
Function.Surjective (C : R → MvPolynomial σ R) :=
by
refine' fun p => ⟨p.toFun 0, Finsupp.ext fun a => _⟩
simpa [(Finsupp.ext isEmptyElim : a = 0), C_apply, monomial]
#align mv_polynomial.C_surjective MvPolynomial.C_surjective
+-/
+#print MvPolynomial.C_inj /-
@[simp]
theorem C_inj {σ : Type _} (R : Type _) [CommSemiring R] (r s : R) :
(C r : MvPolynomial σ R) = C s ↔ r = s :=
(C_injective σ R).eq_iff
#align mv_polynomial.C_inj MvPolynomial.C_inj
+-/
#print MvPolynomial.infinite_of_infinite /-
instance infinite_of_infinite (σ : Type _) (R : Type _) [CommSemiring R] [Infinite R] :
@@ -275,44 +307,62 @@ instance infinite_of_nonempty (σ : Type _) (R : Type _) [Nonempty σ] [CommSemi
#align mv_polynomial.infinite_of_nonempty MvPolynomial.infinite_of_nonempty
-/
+#print MvPolynomial.C_eq_coe_nat /-
theorem C_eq_coe_nat (n : ℕ) : (C ↑n : MvPolynomial σ R) = n := by
induction n <;> simp [Nat.succ_eq_add_one, *]
#align mv_polynomial.C_eq_coe_nat MvPolynomial.C_eq_coe_nat
+-/
+#print MvPolynomial.C_mul' /-
theorem C_mul' : MvPolynomial.C a * p = a • p :=
(Algebra.smul_def a p).symm
#align mv_polynomial.C_mul' MvPolynomial.C_mul'
+-/
+#print MvPolynomial.smul_eq_C_mul /-
theorem smul_eq_C_mul (p : MvPolynomial σ R) (a : R) : a • p = C a * p :=
C_mul'.symm
#align mv_polynomial.smul_eq_C_mul MvPolynomial.smul_eq_C_mul
+-/
+#print MvPolynomial.C_eq_smul_one /-
theorem C_eq_smul_one : (C a : MvPolynomial σ R) = a • 1 := by rw [← C_mul', mul_one]
#align mv_polynomial.C_eq_smul_one MvPolynomial.C_eq_smul_one
+-/
+#print MvPolynomial.smul_monomial /-
theorem smul_monomial {S₁ : Type _} [SMulZeroClass S₁ R] (r : S₁) :
r • monomial s a = monomial s (r • a) :=
Finsupp.smul_single _ _ _
#align mv_polynomial.smul_monomial MvPolynomial.smul_monomial
+-/
+#print MvPolynomial.X_injective /-
theorem X_injective [Nontrivial R] : Function.Injective (X : σ → MvPolynomial σ R) :=
(monomial_left_injective one_ne_zero).comp (Finsupp.single_left_injective one_ne_zero)
#align mv_polynomial.X_injective MvPolynomial.X_injective
+-/
+#print MvPolynomial.X_inj /-
@[simp]
theorem X_inj [Nontrivial R] (m n : σ) : X m = (X n : MvPolynomial σ R) ↔ m = n :=
X_injective.eq_iff
#align mv_polynomial.X_inj MvPolynomial.X_inj
+-/
+#print MvPolynomial.monomial_pow /-
theorem monomial_pow : monomial s a ^ e = monomial (e • s) (a ^ e) :=
AddMonoidAlgebra.single_pow e
#align mv_polynomial.monomial_pow MvPolynomial.monomial_pow
+-/
+#print MvPolynomial.monomial_mul /-
@[simp]
theorem monomial_mul {s s' : σ →₀ ℕ} {a b : R} :
monomial s a * monomial s' b = monomial (s + s') (a * b) :=
AddMonoidAlgebra.single_mul_single
#align mv_polynomial.monomial_mul MvPolynomial.monomial_mul
+-/
variable (σ R)
@@ -325,81 +375,114 @@ def monomialOneHom : Multiplicative (σ →₀ ℕ) →* MvPolynomial σ R :=
variable {σ R}
+#print MvPolynomial.monomialOneHom_apply /-
@[simp]
theorem monomialOneHom_apply : monomialOneHom R σ s = (monomial s 1 : MvPolynomial σ R) :=
rfl
#align mv_polynomial.monomial_one_hom_apply MvPolynomial.monomialOneHom_apply
+-/
+#print MvPolynomial.X_pow_eq_monomial /-
theorem X_pow_eq_monomial : X n ^ e = monomial (single n e) (1 : R) := by simp [X, monomial_pow]
#align mv_polynomial.X_pow_eq_monomial MvPolynomial.X_pow_eq_monomial
+-/
+#print MvPolynomial.monomial_add_single /-
theorem monomial_add_single : monomial (s + single n e) a = monomial s a * X n ^ e := by
rw [X_pow_eq_monomial, monomial_mul, mul_one]
#align mv_polynomial.monomial_add_single MvPolynomial.monomial_add_single
+-/
+#print MvPolynomial.monomial_single_add /-
theorem monomial_single_add : monomial (single n e + s) a = X n ^ e * monomial s a := by
rw [X_pow_eq_monomial, monomial_mul, one_mul]
#align mv_polynomial.monomial_single_add MvPolynomial.monomial_single_add
+-/
+#print MvPolynomial.C_mul_X_pow_eq_monomial /-
theorem C_mul_X_pow_eq_monomial {s : σ} {a : R} {n : ℕ} : C a * X s ^ n = monomial (single s n) a :=
by rw [← zero_add (single s n), monomial_add_single, C_apply]
#align mv_polynomial.C_mul_X_pow_eq_monomial MvPolynomial.C_mul_X_pow_eq_monomial
+-/
+#print MvPolynomial.C_mul_X_eq_monomial /-
theorem C_mul_X_eq_monomial {s : σ} {a : R} : C a * X s = monomial (single s 1) a := by
rw [← C_mul_X_pow_eq_monomial, pow_one]
#align mv_polynomial.C_mul_X_eq_monomial MvPolynomial.C_mul_X_eq_monomial
+-/
+#print MvPolynomial.monomial_zero /-
@[simp]
theorem monomial_zero {s : σ →₀ ℕ} : monomial s (0 : R) = 0 :=
single_zero _
#align mv_polynomial.monomial_zero MvPolynomial.monomial_zero
+-/
+#print MvPolynomial.monomial_zero' /-
@[simp]
theorem monomial_zero' : (monomial (0 : σ →₀ ℕ) : R → MvPolynomial σ R) = C :=
rfl
#align mv_polynomial.monomial_zero' MvPolynomial.monomial_zero'
+-/
+#print MvPolynomial.monomial_eq_zero /-
@[simp]
theorem monomial_eq_zero {s : σ →₀ ℕ} {b : R} : monomial s b = 0 ↔ b = 0 :=
Finsupp.single_eq_zero
#align mv_polynomial.monomial_eq_zero MvPolynomial.monomial_eq_zero
+-/
+#print MvPolynomial.sum_monomial_eq /-
@[simp]
theorem sum_monomial_eq {A : Type _} [AddCommMonoid A] {u : σ →₀ ℕ} {r : R} {b : (σ →₀ ℕ) → R → A}
(w : b u 0 = 0) : Sum (monomial u r) b = b u r :=
sum_single_index w
#align mv_polynomial.sum_monomial_eq MvPolynomial.sum_monomial_eq
+-/
+#print MvPolynomial.sum_C /-
@[simp]
theorem sum_C {A : Type _} [AddCommMonoid A] {b : (σ →₀ ℕ) → R → A} (w : b 0 0 = 0) :
Sum (C a) b = b 0 a :=
sum_monomial_eq w
#align mv_polynomial.sum_C MvPolynomial.sum_C
+-/
+#print MvPolynomial.monomial_sum_one /-
theorem monomial_sum_one {α : Type _} (s : Finset α) (f : α → σ →₀ ℕ) :
(monomial (∑ i in s, f i) 1 : MvPolynomial σ R) = ∏ i in s, monomial (f i) 1 :=
(monomialOneHom R σ).map_prod (fun i => Multiplicative.ofAdd (f i)) s
#align mv_polynomial.monomial_sum_one MvPolynomial.monomial_sum_one
+-/
+#print MvPolynomial.monomial_sum_index /-
theorem monomial_sum_index {α : Type _} (s : Finset α) (f : α → σ →₀ ℕ) (a : R) :
monomial (∑ i in s, f i) a = C a * ∏ i in s, monomial (f i) 1 := by
rw [← monomial_sum_one, C_mul', ← (monomial _).map_smul, smul_eq_mul, mul_one]
#align mv_polynomial.monomial_sum_index MvPolynomial.monomial_sum_index
+-/
+#print MvPolynomial.monomial_finsupp_sum_index /-
theorem monomial_finsupp_sum_index {α β : Type _} [Zero β] (f : α →₀ β) (g : α → β → σ →₀ ℕ)
(a : R) : monomial (f.Sum g) a = C a * f.Prod fun a b => monomial (g a b) 1 :=
monomial_sum_index _ _ _
#align mv_polynomial.monomial_finsupp_sum_index MvPolynomial.monomial_finsupp_sum_index
+-/
+#print MvPolynomial.monomial_eq_monomial_iff /-
theorem monomial_eq_monomial_iff {α : Type _} (a₁ a₂ : α →₀ ℕ) (b₁ b₂ : R) :
monomial a₁ b₁ = monomial a₂ b₂ ↔ a₁ = a₂ ∧ b₁ = b₂ ∨ b₁ = 0 ∧ b₂ = 0 :=
Finsupp.single_eq_single_iff _ _ _ _
#align mv_polynomial.monomial_eq_monomial_iff MvPolynomial.monomial_eq_monomial_iff
+-/
+#print MvPolynomial.monomial_eq /-
theorem monomial_eq : monomial s a = C a * (s.Prod fun n e => X n ^ e : MvPolynomial σ R) := by
simp only [X_pow_eq_monomial, ← monomial_finsupp_sum_index, Finsupp.sum_single]
#align mv_polynomial.monomial_eq MvPolynomial.monomial_eq
+-/
+#print MvPolynomial.induction_on_monomial /-
theorem induction_on_monomial {M : MvPolynomial σ R → Prop} (h_C : ∀ a, M (C a))
(h_X : ∀ p n, M p → M (p * X n)) : ∀ s a, M (monomial s a) :=
by
@@ -415,7 +498,9 @@ theorem induction_on_monomial {M : MvPolynomial σ R → Prop} (h_C : ∀ a, M (
· simp [ih, pow_succ', (mul_assoc _ _ _).symm, h_X, e_ih]
simp [add_comm, monomial_add_single, this]
#align mv_polynomial.induction_on_monomial MvPolynomial.induction_on_monomial
+-/
+#print MvPolynomial.induction_on' /-
/-- Analog of `polynomial.induction_on'`.
To prove something about mv_polynomials,
it suffices to show the condition is closed under taking sums,
@@ -429,7 +514,9 @@ theorem induction_on' {P : MvPolynomial σ R → Prop} (p : MvPolynomial σ R)
show P (monomial 0 0) from h1 0 0)
fun a b f ha hb hPf => h2 _ _ (h1 _ _) hPf
#align mv_polynomial.induction_on' MvPolynomial.induction_on'
+-/
+#print MvPolynomial.induction_on''' /-
/-- Similar to `mv_polynomial.induction_on` but only a weak form of `h_add` is required.-/
theorem induction_on''' {M : MvPolynomial σ R → Prop} (p : MvPolynomial σ R) (h_C : ∀ a, M (C a))
(h_add_weak :
@@ -438,7 +525,9 @@ theorem induction_on''' {M : MvPolynomial σ R → Prop} (p : MvPolynomial σ R)
M p :=
Finsupp.induction p (C_0.rec <| h_C 0) h_add_weak
#align mv_polynomial.induction_on''' MvPolynomial.induction_on'''
+-/
+#print MvPolynomial.induction_on'' /-
/-- Similar to `mv_polynomial.induction_on` but only a yet weaker form of `h_add` is required.-/
theorem induction_on'' {M : MvPolynomial σ R → Prop} (p : MvPolynomial σ R) (h_C : ∀ a, M (C a))
(h_add_weak :
@@ -448,36 +537,48 @@ theorem induction_on'' {M : MvPolynomial σ R → Prop} (p : MvPolynomial σ R)
induction_on''' p h_C fun a b f ha hb hf =>
h_add_weak a b f ha hb hf <| induction_on_monomial h_C h_X a b
#align mv_polynomial.induction_on'' MvPolynomial.induction_on''
+-/
+#print MvPolynomial.induction_on /-
/-- Analog of `polynomial.induction_on`.-/
@[recursor 5]
theorem induction_on {M : MvPolynomial σ R → Prop} (p : MvPolynomial σ R) (h_C : ∀ a, M (C a))
(h_add : ∀ p q, M p → M q → M (p + q)) (h_X : ∀ p n, M p → M (p * X n)) : M p :=
induction_on'' p h_C (fun a b f ha hb hf hm => h_add (monomial a b) f hm hf) h_X
#align mv_polynomial.induction_on MvPolynomial.induction_on
+-/
+#print MvPolynomial.ringHom_ext /-
theorem ringHom_ext {A : Type _} [Semiring A] {f g : MvPolynomial σ R →+* A}
(hC : ∀ r, f (C r) = g (C r)) (hX : ∀ i, f (X i) = g (X i)) : f = g := by ext;
exacts [hC _, hX _]
#align mv_polynomial.ring_hom_ext MvPolynomial.ringHom_ext
+-/
+#print MvPolynomial.ringHom_ext' /-
/-- See note [partially-applied ext lemmas]. -/
@[ext]
theorem ringHom_ext' {A : Type _} [Semiring A] {f g : MvPolynomial σ R →+* A}
(hC : f.comp C = g.comp C) (hX : ∀ i, f (X i) = g (X i)) : f = g :=
ringHom_ext (RingHom.ext_iff.1 hC) hX
#align mv_polynomial.ring_hom_ext' MvPolynomial.ringHom_ext'
+-/
+#print MvPolynomial.hom_eq_hom /-
theorem hom_eq_hom [Semiring S₂] (f g : MvPolynomial σ R →+* S₂) (hC : f.comp C = g.comp C)
(hX : ∀ n : σ, f (X n) = g (X n)) (p : MvPolynomial σ R) : f p = g p :=
RingHom.congr_fun (ringHom_ext' hC hX) p
#align mv_polynomial.hom_eq_hom MvPolynomial.hom_eq_hom
+-/
+#print MvPolynomial.is_id /-
theorem is_id (f : MvPolynomial σ R →+* MvPolynomial σ R) (hC : f.comp C = C)
(hX : ∀ n : σ, f (X n) = X n) (p : MvPolynomial σ R) : f p = p :=
hom_eq_hom f (RingHom.id _) hC hX p
#align mv_polynomial.is_id MvPolynomial.is_id
+-/
+#print MvPolynomial.algHom_ext' /-
@[ext]
theorem algHom_ext' {A B : Type _} [CommSemiring A] [CommSemiring B] [Algebra R A] [Algebra R B]
{f g : MvPolynomial σ A →ₐ[R] B}
@@ -487,18 +588,24 @@ theorem algHom_ext' {A B : Type _} [CommSemiring A] [CommSemiring B] [Algebra R
(h₂ : ∀ i, f (X i) = g (X i)) : f = g :=
AlgHom.coe_ringHom_injective (MvPolynomial.ringHom_ext' (congr_arg AlgHom.toRingHom h₁) h₂)
#align mv_polynomial.alg_hom_ext' MvPolynomial.algHom_ext'
+-/
+#print MvPolynomial.algHom_ext /-
@[ext]
theorem algHom_ext {A : Type _} [Semiring A] [Algebra R A] {f g : MvPolynomial σ R →ₐ[R] A}
(hf : ∀ i : σ, f (X i) = g (X i)) : f = g :=
AddMonoidAlgebra.algHom_ext' (mulHom_ext' fun x : σ => MonoidHom.ext_mnat (hf x))
#align mv_polynomial.alg_hom_ext MvPolynomial.algHom_ext
+-/
+#print MvPolynomial.algHom_C /-
@[simp]
theorem algHom_C (f : MvPolynomial σ R →ₐ[R] MvPolynomial σ R) (r : R) : f (C r) = C r :=
f.commutes r
#align mv_polynomial.alg_hom_C MvPolynomial.algHom_C
+-/
+#print MvPolynomial.adjoin_range_X /-
@[simp]
theorem adjoin_range_X : Algebra.adjoin R (range (X : σ → MvPolynomial σ R)) = ⊤ :=
by
@@ -509,12 +616,15 @@ theorem adjoin_range_X : Algebra.adjoin R (range (X : σ → MvPolynomial σ R))
case h_add p q hp hq => exact S.add_mem hp hq
case h_X p i hp => exact S.mul_mem hp (Algebra.subset_adjoin <| mem_range_self _)
#align mv_polynomial.adjoin_range_X MvPolynomial.adjoin_range_X
+-/
+#print MvPolynomial.linearMap_ext /-
@[ext]
theorem linearMap_ext {M : Type _} [AddCommMonoid M] [Module R M] {f g : MvPolynomial σ R →ₗ[R] M}
(h : ∀ s, f ∘ₗ monomial s = g ∘ₗ monomial s) : f = g :=
Finsupp.lhom_ext' h
#align mv_polynomial.linear_map_ext MvPolynomial.linearMap_ext
+-/
section Support
@@ -526,45 +636,63 @@ def support (p : MvPolynomial σ R) : Finset (σ →₀ ℕ) :=
#align mv_polynomial.support MvPolynomial.support
-/
+#print MvPolynomial.finsupp_support_eq_support /-
theorem finsupp_support_eq_support (p : MvPolynomial σ R) : Finsupp.support p = p.support :=
rfl
#align mv_polynomial.finsupp_support_eq_support MvPolynomial.finsupp_support_eq_support
+-/
+#print MvPolynomial.support_monomial /-
theorem support_monomial [Decidable (a = 0)] : (monomial s a).support = if a = 0 then ∅ else {s} :=
by convert rfl
#align mv_polynomial.support_monomial MvPolynomial.support_monomial
+-/
+#print MvPolynomial.support_monomial_subset /-
theorem support_monomial_subset : (monomial s a).support ⊆ {s} :=
support_single_subset
#align mv_polynomial.support_monomial_subset MvPolynomial.support_monomial_subset
+-/
+#print MvPolynomial.support_add /-
theorem support_add [DecidableEq σ] : (p + q).support ⊆ p.support ∪ q.support :=
Finsupp.support_add
#align mv_polynomial.support_add MvPolynomial.support_add
+-/
+#print MvPolynomial.support_X /-
theorem support_X [Nontrivial R] : (X n : MvPolynomial σ R).support = {single n 1} := by
classical rw [X, support_monomial, if_neg] <;> exact one_ne_zero
#align mv_polynomial.support_X MvPolynomial.support_X
+-/
+#print MvPolynomial.support_X_pow /-
theorem support_X_pow [Nontrivial R] (s : σ) (n : ℕ) :
(X s ^ n : MvPolynomial σ R).support = {Finsupp.single s n} := by
classical rw [X_pow_eq_monomial, support_monomial, if_neg (one_ne_zero' R)]
#align mv_polynomial.support_X_pow MvPolynomial.support_X_pow
+-/
+#print MvPolynomial.support_zero /-
@[simp]
theorem support_zero : (0 : MvPolynomial σ R).support = ∅ :=
rfl
#align mv_polynomial.support_zero MvPolynomial.support_zero
+-/
+#print MvPolynomial.support_smul /-
theorem support_smul {S₁ : Type _} [SMulZeroClass S₁ R] {a : S₁} {f : MvPolynomial σ R} :
(a • f).support ⊆ f.support :=
Finsupp.support_smul
#align mv_polynomial.support_smul MvPolynomial.support_smul
+-/
+#print MvPolynomial.support_sum /-
theorem support_sum {α : Type _} [DecidableEq σ] {s : Finset α} {f : α → MvPolynomial σ R} :
(∑ x in s, f x).support ⊆ s.biUnion fun x => (f x).support :=
Finsupp.support_finset_sum
#align mv_polynomial.support_sum MvPolynomial.support_sum
+-/
end Support
@@ -577,53 +705,73 @@ def coeff (m : σ →₀ ℕ) (p : MvPolynomial σ R) : R :=
#align mv_polynomial.coeff MvPolynomial.coeff
-/
+#print MvPolynomial.mem_support_iff /-
@[simp]
theorem mem_support_iff {p : MvPolynomial σ R} {m : σ →₀ ℕ} : m ∈ p.support ↔ p.coeff m ≠ 0 := by
simp [support, coeff]
#align mv_polynomial.mem_support_iff MvPolynomial.mem_support_iff
+-/
+#print MvPolynomial.not_mem_support_iff /-
theorem not_mem_support_iff {p : MvPolynomial σ R} {m : σ →₀ ℕ} : m ∉ p.support ↔ p.coeff m = 0 :=
by simp
#align mv_polynomial.not_mem_support_iff MvPolynomial.not_mem_support_iff
+-/
+#print MvPolynomial.sum_def /-
theorem sum_def {A} [AddCommMonoid A] {p : MvPolynomial σ R} {b : (σ →₀ ℕ) → R → A} :
p.Sum b = ∑ m in p.support, b m (p.coeff m) := by simp [support, Finsupp.sum, coeff]
#align mv_polynomial.sum_def MvPolynomial.sum_def
+-/
+#print MvPolynomial.support_mul /-
theorem support_mul [DecidableEq σ] (p q : MvPolynomial σ R) :
(p * q).support ⊆ p.support.biUnion fun a => q.support.biUnion fun b => {a + b} := by
convert AddMonoidAlgebra.support_mul p q <;> ext <;> convert Iff.rfl
#align mv_polynomial.support_mul MvPolynomial.support_mul
+-/
+#print MvPolynomial.ext /-
@[ext]
theorem ext (p q : MvPolynomial σ R) : (∀ m, coeff m p = coeff m q) → p = q :=
ext
#align mv_polynomial.ext MvPolynomial.ext
+-/
+#print MvPolynomial.ext_iff /-
theorem ext_iff (p q : MvPolynomial σ R) : p = q ↔ ∀ m, coeff m p = coeff m q :=
⟨fun h m => by rw [h], ext p q⟩
#align mv_polynomial.ext_iff MvPolynomial.ext_iff
+-/
+#print MvPolynomial.coeff_add /-
@[simp]
theorem coeff_add (m : σ →₀ ℕ) (p q : MvPolynomial σ R) : coeff m (p + q) = coeff m p + coeff m q :=
add_apply p q m
#align mv_polynomial.coeff_add MvPolynomial.coeff_add
+-/
+#print MvPolynomial.coeff_smul /-
@[simp]
theorem coeff_smul {S₁ : Type _} [SMulZeroClass S₁ R] (m : σ →₀ ℕ) (c : S₁) (p : MvPolynomial σ R) :
coeff m (c • p) = c • coeff m p :=
smul_apply c p m
#align mv_polynomial.coeff_smul MvPolynomial.coeff_smul
+-/
+#print MvPolynomial.coeff_zero /-
@[simp]
theorem coeff_zero (m : σ →₀ ℕ) : coeff m (0 : MvPolynomial σ R) = 0 :=
rfl
#align mv_polynomial.coeff_zero MvPolynomial.coeff_zero
+-/
+#print MvPolynomial.coeff_zero_X /-
@[simp]
theorem coeff_zero_X (i : σ) : coeff 0 (X i : MvPolynomial σ R) = 0 :=
single_eq_of_ne fun h => by cases single_eq_zero.1 h
#align mv_polynomial.coeff_zero_X MvPolynomial.coeff_zero_X
+-/
#print MvPolynomial.coeffAddMonoidHom /-
/-- `mv_polynomial.coeff m` but promoted to an `add_monoid_hom`. -/
@@ -636,41 +784,56 @@ def coeffAddMonoidHom (m : σ →₀ ℕ) : MvPolynomial σ R →+ R
#align mv_polynomial.coeff_add_monoid_hom MvPolynomial.coeffAddMonoidHom
-/
+#print MvPolynomial.coeff_sum /-
theorem coeff_sum {X : Type _} (s : Finset X) (f : X → MvPolynomial σ R) (m : σ →₀ ℕ) :
coeff m (∑ x in s, f x) = ∑ x in s, coeff m (f x) :=
(@coeffAddMonoidHom R σ _ _).map_sum _ s
#align mv_polynomial.coeff_sum MvPolynomial.coeff_sum
+-/
+#print MvPolynomial.monic_monomial_eq /-
theorem monic_monomial_eq (m) :
monomial m (1 : R) = (m.Prod fun n e => X n ^ e : MvPolynomial σ R) := by simp [monomial_eq]
#align mv_polynomial.monic_monomial_eq MvPolynomial.monic_monomial_eq
+-/
+#print MvPolynomial.coeff_monomial /-
@[simp]
theorem coeff_monomial [DecidableEq σ] (m n) (a) :
coeff m (monomial n a : MvPolynomial σ R) = if n = m then a else 0 :=
single_apply
#align mv_polynomial.coeff_monomial MvPolynomial.coeff_monomial
+-/
+#print MvPolynomial.coeff_C /-
@[simp]
theorem coeff_C [DecidableEq σ] (m) (a) :
coeff m (C a : MvPolynomial σ R) = if 0 = m then a else 0 :=
single_apply
#align mv_polynomial.coeff_C MvPolynomial.coeff_C
+-/
+#print MvPolynomial.coeff_one /-
theorem coeff_one [DecidableEq σ] (m) : coeff m (1 : MvPolynomial σ R) = if 0 = m then 1 else 0 :=
coeff_C m 1
#align mv_polynomial.coeff_one MvPolynomial.coeff_one
+-/
+#print MvPolynomial.coeff_zero_C /-
@[simp]
theorem coeff_zero_C (a) : coeff 0 (C a : MvPolynomial σ R) = a :=
single_eq_same
#align mv_polynomial.coeff_zero_C MvPolynomial.coeff_zero_C
+-/
+#print MvPolynomial.coeff_zero_one /-
@[simp]
theorem coeff_zero_one : coeff 0 (1 : MvPolynomial σ R) = 1 :=
coeff_zero_C 1
#align mv_polynomial.coeff_zero_one MvPolynomial.coeff_zero_one
+-/
+#print MvPolynomial.coeff_X_pow /-
theorem coeff_X_pow [DecidableEq σ] (i : σ) (m) (k : ℕ) :
coeff m (X i ^ k : MvPolynomial σ R) = if single i k = m then 1 else 0 :=
by
@@ -679,17 +842,23 @@ theorem coeff_X_pow [DecidableEq σ] (i : σ) (m) (k : ℕ) :
this
exact pow_zero _
#align mv_polynomial.coeff_X_pow MvPolynomial.coeff_X_pow
+-/
+#print MvPolynomial.coeff_X' /-
theorem coeff_X' [DecidableEq σ] (i : σ) (m) :
coeff m (X i : MvPolynomial σ R) = if single i 1 = m then 1 else 0 := by
rw [← coeff_X_pow, pow_one]
#align mv_polynomial.coeff_X' MvPolynomial.coeff_X'
+-/
+#print MvPolynomial.coeff_X /-
@[simp]
theorem coeff_X (i : σ) : coeff (single i 1) (X i : MvPolynomial σ R) = 1 := by
classical rw [coeff_X', if_pos rfl]
#align mv_polynomial.coeff_X MvPolynomial.coeff_X
+-/
+#print MvPolynomial.coeff_C_mul /-
@[simp]
theorem coeff_C_mul (m) (a : R) (p : MvPolynomial σ R) : coeff m (C a * p) = a * coeff m p := by
classical
@@ -697,54 +866,72 @@ theorem coeff_C_mul (m) (a : R) (p : MvPolynomial σ R) : coeff m (C a * p) = a
· simp (config := { contextual := true }) [sum_def, coeff_sum]
simp
#align mv_polynomial.coeff_C_mul MvPolynomial.coeff_C_mul
+-/
+#print MvPolynomial.coeff_mul /-
theorem coeff_mul (p q : MvPolynomial σ R) (n : σ →₀ ℕ) :
coeff n (p * q) = ∑ x in antidiagonal n, coeff x.1 p * coeff x.2 q :=
AddMonoidAlgebra.mul_apply_antidiagonal p q _ _ fun p => mem_antidiagonal
#align mv_polynomial.coeff_mul MvPolynomial.coeff_mul
+-/
+#print MvPolynomial.coeff_mul_monomial /-
@[simp]
theorem coeff_mul_monomial (m) (s : σ →₀ ℕ) (r : R) (p : MvPolynomial σ R) :
coeff (m + s) (p * monomial s r) = coeff m p * r :=
AddMonoidAlgebra.mul_single_apply_aux p _ _ _ _ fun a => add_left_inj _
#align mv_polynomial.coeff_mul_monomial MvPolynomial.coeff_mul_monomial
+-/
+#print MvPolynomial.coeff_monomial_mul /-
@[simp]
theorem coeff_monomial_mul (m) (s : σ →₀ ℕ) (r : R) (p : MvPolynomial σ R) :
coeff (s + m) (monomial s r * p) = r * coeff m p :=
AddMonoidAlgebra.single_mul_apply_aux p _ _ _ _ fun a => add_right_inj _
#align mv_polynomial.coeff_monomial_mul MvPolynomial.coeff_monomial_mul
+-/
+#print MvPolynomial.coeff_mul_X /-
@[simp]
theorem coeff_mul_X (m) (s : σ) (p : MvPolynomial σ R) :
coeff (m + single s 1) (p * X s) = coeff m p :=
(coeff_mul_monomial _ _ _ _).trans (mul_one _)
#align mv_polynomial.coeff_mul_X MvPolynomial.coeff_mul_X
+-/
+#print MvPolynomial.coeff_X_mul /-
@[simp]
theorem coeff_X_mul (m) (s : σ) (p : MvPolynomial σ R) :
coeff (single s 1 + m) (X s * p) = coeff m p :=
(coeff_monomial_mul _ _ _ _).trans (one_mul _)
#align mv_polynomial.coeff_X_mul MvPolynomial.coeff_X_mul
+-/
+#print MvPolynomial.support_mul_X /-
@[simp]
theorem support_mul_X (s : σ) (p : MvPolynomial σ R) :
(p * X s).support = p.support.map (addRightEmbedding (single s 1)) :=
AddMonoidAlgebra.support_mul_single p _ (by simp) _
#align mv_polynomial.support_mul_X MvPolynomial.support_mul_X
+-/
+#print MvPolynomial.support_X_mul /-
@[simp]
theorem support_X_mul (s : σ) (p : MvPolynomial σ R) :
(X s * p).support = p.support.map (addLeftEmbedding (single s 1)) :=
AddMonoidAlgebra.support_single_mul p _ (by simp) _
#align mv_polynomial.support_X_mul MvPolynomial.support_X_mul
+-/
+#print MvPolynomial.support_smul_eq /-
@[simp]
theorem support_smul_eq {S₁ : Type _} [Semiring S₁] [Module S₁ R] [NoZeroSMulDivisors S₁ R] {a : S₁}
(h : a ≠ 0) (p : MvPolynomial σ R) : (a • p).support = p.support :=
Finsupp.support_smul_eq h
#align mv_polynomial.support_smul_eq MvPolynomial.support_smul_eq
+-/
+#print MvPolynomial.support_sdiff_support_subset_support_add /-
theorem support_sdiff_support_subset_support_add [DecidableEq σ] (p q : MvPolynomial σ R) :
p.support \ q.support ⊆ (p + q).support :=
by
@@ -752,7 +939,9 @@ theorem support_sdiff_support_subset_support_add [DecidableEq σ] (p q : MvPolyn
simp only [Classical.not_not, mem_support_iff, Finset.mem_sdiff, Ne.def] at hm
simp [hm.2, hm.1]
#align mv_polynomial.support_sdiff_support_subset_support_add MvPolynomial.support_sdiff_support_subset_support_add
+-/
+#print MvPolynomial.support_symmDiff_support_subset_support_add /-
theorem support_symmDiff_support_subset_support_add [DecidableEq σ] (p q : MvPolynomial σ R) :
p.support ∆ q.support ⊆ (p + q).support :=
by
@@ -762,7 +951,9 @@ theorem support_symmDiff_support_subset_support_add [DecidableEq σ] (p q : MvPo
· rw [add_comm]
exact support_sdiff_support_subset_support_add q p
#align mv_polynomial.support_symm_diff_support_subset_support_add MvPolynomial.support_symmDiff_support_subset_support_add
+-/
+#print MvPolynomial.coeff_mul_monomial' /-
theorem coeff_mul_monomial' (m) (s : σ →₀ ℕ) (r : R) (p : MvPolynomial σ R) :
coeff m (p * monomial s r) = if s ≤ m then coeff (m - s) p * r else 0 := by
classical
@@ -780,7 +971,9 @@ theorem coeff_mul_monomial' (m) (s : σ →₀ ℕ) (r : R) (p : MvPolynomial σ
rw [Finset.mem_singleton] at H ; subst m
exact le_add_left le_rfl
#align mv_polynomial.coeff_mul_monomial' MvPolynomial.coeff_mul_monomial'
+-/
+#print MvPolynomial.coeff_monomial_mul' /-
theorem coeff_monomial_mul' (m) (s : σ →₀ ℕ) (r : R) (p : MvPolynomial σ R) :
coeff m (monomial s r * p) = if s ≤ m then r * coeff (m - s) p else 0 :=
by
@@ -788,7 +981,9 @@ theorem coeff_monomial_mul' (m) (s : σ →₀ ℕ) (r : R) (p : MvPolynomial σ
rw [mul_comm, mul_comm r]
exact coeff_mul_monomial' _ _ _ _
#align mv_polynomial.coeff_monomial_mul' MvPolynomial.coeff_monomial_mul'
+-/
+#print MvPolynomial.coeff_mul_X' /-
theorem coeff_mul_X' [DecidableEq σ] (m) (s : σ) (p : MvPolynomial σ R) :
coeff m (p * X s) = if s ∈ m.support then coeff (m - single s 1) p else 0 :=
by
@@ -796,7 +991,9 @@ theorem coeff_mul_X' [DecidableEq σ] (m) (s : σ) (p : MvPolynomial σ R) :
simp_rw [Finsupp.single_le_iff, Finsupp.mem_support_iff, Nat.succ_le_iff, pos_iff_ne_zero,
mul_one]
#align mv_polynomial.coeff_mul_X' MvPolynomial.coeff_mul_X'
+-/
+#print MvPolynomial.coeff_X_mul' /-
theorem coeff_X_mul' [DecidableEq σ] (m) (s : σ) (p : MvPolynomial σ R) :
coeff m (X s * p) = if s ∈ m.support then coeff (m - single s 1) p else 0 :=
by
@@ -804,24 +1001,34 @@ theorem coeff_X_mul' [DecidableEq σ] (m) (s : σ) (p : MvPolynomial σ R) :
simp_rw [Finsupp.single_le_iff, Finsupp.mem_support_iff, Nat.succ_le_iff, pos_iff_ne_zero,
one_mul]
#align mv_polynomial.coeff_X_mul' MvPolynomial.coeff_X_mul'
+-/
+#print MvPolynomial.eq_zero_iff /-
theorem eq_zero_iff {p : MvPolynomial σ R} : p = 0 ↔ ∀ d, coeff d p = 0 := by rw [ext_iff];
simp only [coeff_zero]
#align mv_polynomial.eq_zero_iff MvPolynomial.eq_zero_iff
+-/
+#print MvPolynomial.ne_zero_iff /-
theorem ne_zero_iff {p : MvPolynomial σ R} : p ≠ 0 ↔ ∃ d, coeff d p ≠ 0 := by
rw [Ne.def, eq_zero_iff]; push_neg
#align mv_polynomial.ne_zero_iff MvPolynomial.ne_zero_iff
+-/
+#print MvPolynomial.support_eq_empty /-
@[simp]
theorem support_eq_empty {p : MvPolynomial σ R} : p.support = ∅ ↔ p = 0 :=
Finsupp.support_eq_empty
#align mv_polynomial.support_eq_empty MvPolynomial.support_eq_empty
+-/
+#print MvPolynomial.exists_coeff_ne_zero /-
theorem exists_coeff_ne_zero {p : MvPolynomial σ R} (h : p ≠ 0) : ∃ d, coeff d p ≠ 0 :=
ne_zero_iff.mp h
#align mv_polynomial.exists_coeff_ne_zero MvPolynomial.exists_coeff_ne_zero
+-/
+#print MvPolynomial.C_dvd_iff_dvd_coeff /-
theorem C_dvd_iff_dvd_coeff (r : R) (φ : MvPolynomial σ R) : C r ∣ φ ↔ ∀ i, r ∣ φ.coeff i :=
by
constructor
@@ -839,6 +1046,7 @@ theorem C_dvd_iff_dvd_coeff (r : R) (φ : MvPolynomial σ R) : C r ∣ φ ↔
· rw [hc]
· rw [not_mem_support_iff] at hi ; rwa [MulZeroClass.mul_zero]
#align mv_polynomial.C_dvd_iff_dvd_coeff MvPolynomial.C_dvd_iff_dvd_coeff
+-/
end Coeff
@@ -858,65 +1066,83 @@ def constantCoeff : MvPolynomial σ R →+* R
#align mv_polynomial.constant_coeff MvPolynomial.constantCoeff
-/
+#print MvPolynomial.constantCoeff_eq /-
theorem constantCoeff_eq : (constantCoeff : MvPolynomial σ R → R) = coeff 0 :=
rfl
#align mv_polynomial.constant_coeff_eq MvPolynomial.constantCoeff_eq
+-/
variable (σ)
+#print MvPolynomial.constantCoeff_C /-
@[simp]
theorem constantCoeff_C (r : R) : constantCoeff (C r : MvPolynomial σ R) = r := by
simp [constant_coeff_eq]
#align mv_polynomial.constant_coeff_C MvPolynomial.constantCoeff_C
+-/
variable {σ}
variable (R)
+#print MvPolynomial.constantCoeff_X /-
@[simp]
theorem constantCoeff_X (i : σ) : constantCoeff (X i : MvPolynomial σ R) = 0 := by
simp [constant_coeff_eq]
#align mv_polynomial.constant_coeff_X MvPolynomial.constantCoeff_X
+-/
variable {R}
+#print MvPolynomial.constantCoeff_smul /-
@[simp]
theorem constantCoeff_smul {R : Type _} [SMulZeroClass R S₁] (a : R) (f : MvPolynomial σ S₁) :
constantCoeff (a • f) = a • constantCoeff f :=
rfl
#align mv_polynomial.constant_coeff_smul MvPolynomial.constantCoeff_smul
+-/
+#print MvPolynomial.constantCoeff_monomial /-
theorem constantCoeff_monomial [DecidableEq σ] (d : σ →₀ ℕ) (r : R) :
constantCoeff (monomial d r) = if d = 0 then r else 0 := by
rw [constant_coeff_eq, coeff_monomial]
#align mv_polynomial.constant_coeff_monomial MvPolynomial.constantCoeff_monomial
+-/
variable (σ R)
+#print MvPolynomial.constantCoeff_comp_C /-
@[simp]
theorem constantCoeff_comp_C : constantCoeff.comp (C : R →+* MvPolynomial σ R) = RingHom.id R := by
ext x; exact constant_coeff_C σ x
#align mv_polynomial.constant_coeff_comp_C MvPolynomial.constantCoeff_comp_C
+-/
+#print MvPolynomial.constantCoeff_comp_algebraMap /-
@[simp]
theorem constantCoeff_comp_algebraMap :
constantCoeff.comp (algebraMap R (MvPolynomial σ R)) = RingHom.id R :=
constantCoeff_comp_C _ _
#align mv_polynomial.constant_coeff_comp_algebra_map MvPolynomial.constantCoeff_comp_algebraMap
+-/
end ConstantCoeff
section AsSum
+#print MvPolynomial.support_sum_monomial_coeff /-
@[simp]
theorem support_sum_monomial_coeff (p : MvPolynomial σ R) :
∑ v in p.support, monomial v (coeff v p) = p :=
Finsupp.sum_single p
#align mv_polynomial.support_sum_monomial_coeff MvPolynomial.support_sum_monomial_coeff
+-/
+#print MvPolynomial.as_sum /-
theorem as_sum (p : MvPolynomial σ R) : p = ∑ v in p.support, monomial v (coeff v p) :=
(support_sum_monomial_coeff p).symm
#align mv_polynomial.as_sum MvPolynomial.as_sum
+-/
end AsSum
@@ -932,48 +1158,65 @@ def eval₂ (p : MvPolynomial σ R) : S₁ :=
#align mv_polynomial.eval₂ MvPolynomial.eval₂
-/
+#print MvPolynomial.eval₂_eq /-
theorem eval₂_eq (g : R →+* S₁) (x : σ → S₁) (f : MvPolynomial σ R) :
f.eval₂ g x = ∑ d in f.support, g (f.coeff d) * ∏ i in d.support, x i ^ d i :=
rfl
#align mv_polynomial.eval₂_eq MvPolynomial.eval₂_eq
+-/
+#print MvPolynomial.eval₂_eq' /-
theorem eval₂_eq' [Fintype σ] (g : R →+* S₁) (x : σ → S₁) (f : MvPolynomial σ R) :
f.eval₂ g x = ∑ d in f.support, g (f.coeff d) * ∏ i, x i ^ d i := by
simp only [eval₂_eq, ← Finsupp.prod_pow]; rfl
#align mv_polynomial.eval₂_eq' MvPolynomial.eval₂_eq'
+-/
+#print MvPolynomial.eval₂_zero /-
@[simp]
theorem eval₂_zero : (0 : MvPolynomial σ R).eval₂ f g = 0 :=
Finsupp.sum_zero_index
#align mv_polynomial.eval₂_zero MvPolynomial.eval₂_zero
+-/
section
+#print MvPolynomial.eval₂_add /-
@[simp]
theorem eval₂_add : (p + q).eval₂ f g = p.eval₂ f g + q.eval₂ f g := by
classical exact Finsupp.sum_add_index (by simp [f.map_zero]) (by simp [add_mul, f.map_add])
#align mv_polynomial.eval₂_add MvPolynomial.eval₂_add
+-/
+#print MvPolynomial.eval₂_monomial /-
@[simp]
theorem eval₂_monomial : (monomial s a).eval₂ f g = f a * s.Prod fun n e => g n ^ e :=
Finsupp.sum_single_index (by simp [f.map_zero])
#align mv_polynomial.eval₂_monomial MvPolynomial.eval₂_monomial
+-/
+#print MvPolynomial.eval₂_C /-
@[simp]
theorem eval₂_C (a) : (C a).eval₂ f g = f a := by
rw [C_apply, eval₂_monomial, prod_zero_index, mul_one]
#align mv_polynomial.eval₂_C MvPolynomial.eval₂_C
+-/
+#print MvPolynomial.eval₂_one /-
@[simp]
theorem eval₂_one : (1 : MvPolynomial σ R).eval₂ f g = 1 :=
(eval₂_C _ _ _).trans f.map_one
#align mv_polynomial.eval₂_one MvPolynomial.eval₂_one
+-/
+#print MvPolynomial.eval₂_X /-
@[simp]
theorem eval₂_X (n) : (X n).eval₂ f g = g n := by
simp [eval₂_monomial, f.map_one, X, prod_single_index, pow_one]
#align mv_polynomial.eval₂_X MvPolynomial.eval₂_X
+-/
+#print MvPolynomial.eval₂_mul_monomial /-
theorem eval₂_mul_monomial :
∀ {s a}, (p * monomial s a).eval₂ f g = p.eval₂ f g * f a * s.Prod fun n e => g n ^ e := by
classical
@@ -990,11 +1233,15 @@ theorem eval₂_mul_monomial :
simp [ih, prod_single_index, prod_add_index, pow_one, pow_add, mul_assoc, mul_left_comm,
f.map_one, -add_comm]
#align mv_polynomial.eval₂_mul_monomial MvPolynomial.eval₂_mul_monomial
+-/
+#print MvPolynomial.eval₂_mul_C /-
theorem eval₂_mul_C : (p * C a).eval₂ f g = p.eval₂ f g * f a :=
(eval₂_mul_monomial _ _).trans <| by simp
#align mv_polynomial.eval₂_mul_C MvPolynomial.eval₂_mul_C
+-/
+#print MvPolynomial.eval₂_mul /-
@[simp]
theorem eval₂_mul : ∀ {p}, (p * q).eval₂ f g = p.eval₂ f g * q.eval₂ f g :=
by
@@ -1003,12 +1250,15 @@ theorem eval₂_mul : ∀ {p}, (p * q).eval₂ f g = p.eval₂ f g * q.eval₂ f
· simp (config := { contextual := true }) [mul_add, eval₂_add]
· simp (config := { contextual := true }) [X, eval₂_monomial, eval₂_mul_monomial, ← mul_assoc]
#align mv_polynomial.eval₂_mul MvPolynomial.eval₂_mul
+-/
+#print MvPolynomial.eval₂_pow /-
@[simp]
theorem eval₂_pow {p : MvPolynomial σ R} : ∀ {n : ℕ}, (p ^ n).eval₂ f g = p.eval₂ f g ^ n
| 0 => by rw [pow_zero, pow_zero]; exact eval₂_one _ _
| n + 1 => by rw [pow_add, pow_one, pow_add, pow_one, eval₂_mul, eval₂_pow]
#align mv_polynomial.eval₂_pow MvPolynomial.eval₂_pow
+-/
#print MvPolynomial.eval₂Hom /-
/-- `mv_polynomial.eval₂` as a `ring_hom`. -/
@@ -1022,28 +1272,37 @@ def eval₂Hom (f : R →+* S₁) (g : σ → S₁) : MvPolynomial σ R →+* S
#align mv_polynomial.eval₂_hom MvPolynomial.eval₂Hom
-/
+#print MvPolynomial.coe_eval₂Hom /-
@[simp]
theorem coe_eval₂Hom (f : R →+* S₁) (g : σ → S₁) : ⇑(eval₂Hom f g) = eval₂ f g :=
rfl
#align mv_polynomial.coe_eval₂_hom MvPolynomial.coe_eval₂Hom
+-/
+#print MvPolynomial.eval₂Hom_congr /-
theorem eval₂Hom_congr {f₁ f₂ : R →+* S₁} {g₁ g₂ : σ → S₁} {p₁ p₂ : MvPolynomial σ R} :
f₁ = f₂ → g₁ = g₂ → p₁ = p₂ → eval₂Hom f₁ g₁ p₁ = eval₂Hom f₂ g₂ p₂ := by
rintro rfl rfl rfl <;> rfl
#align mv_polynomial.eval₂_hom_congr MvPolynomial.eval₂Hom_congr
+-/
end
+#print MvPolynomial.eval₂Hom_C /-
@[simp]
theorem eval₂Hom_C (f : R →+* S₁) (g : σ → S₁) (r : R) : eval₂Hom f g (C r) = f r :=
eval₂_C f g r
#align mv_polynomial.eval₂_hom_C MvPolynomial.eval₂Hom_C
+-/
+#print MvPolynomial.eval₂Hom_X' /-
@[simp]
theorem eval₂Hom_X' (f : R →+* S₁) (g : σ → S₁) (i : σ) : eval₂Hom f g (X i) = g i :=
eval₂_X f g i
#align mv_polynomial.eval₂_hom_X' MvPolynomial.eval₂Hom_X'
+-/
+#print MvPolynomial.comp_eval₂Hom /-
@[simp]
theorem comp_eval₂Hom [CommSemiring S₂] (f : R →+* S₁) (g : σ → S₁) (φ : S₁ →+* S₂) :
φ.comp (eval₂Hom f g) = eval₂Hom (φ.comp f) fun i => φ (g i) :=
@@ -1052,34 +1311,44 @@ theorem comp_eval₂Hom [CommSemiring S₂] (f : R →+* S₁) (g : σ → S₁)
· intro r; rw [RingHom.comp_apply, eval₂_hom_C, eval₂_hom_C, RingHom.comp_apply]
· intro i; rw [RingHom.comp_apply, eval₂_hom_X', eval₂_hom_X']
#align mv_polynomial.comp_eval₂_hom MvPolynomial.comp_eval₂Hom
+-/
+#print MvPolynomial.map_eval₂Hom /-
theorem map_eval₂Hom [CommSemiring S₂] (f : R →+* S₁) (g : σ → S₁) (φ : S₁ →+* S₂)
(p : MvPolynomial σ R) : φ (eval₂Hom f g p) = eval₂Hom (φ.comp f) (fun i => φ (g i)) p := by
rw [← comp_eval₂_hom]; rfl
#align mv_polynomial.map_eval₂_hom MvPolynomial.map_eval₂Hom
+-/
+#print MvPolynomial.eval₂Hom_monomial /-
theorem eval₂Hom_monomial (f : R →+* S₁) (g : σ → S₁) (d : σ →₀ ℕ) (r : R) :
eval₂Hom f g (monomial d r) = f r * d.Prod fun i k => g i ^ k := by
simp only [monomial_eq, RingHom.map_mul, eval₂_hom_C, Finsupp.prod, RingHom.map_prod,
RingHom.map_pow, eval₂_hom_X']
#align mv_polynomial.eval₂_hom_monomial MvPolynomial.eval₂Hom_monomial
+-/
section
+#print MvPolynomial.eval₂_comp_left /-
theorem eval₂_comp_left {S₂} [CommSemiring S₂] (k : S₁ →+* S₂) (f : R →+* S₁) (g : σ → S₁) (p) :
k (eval₂ f g p) = eval₂ (k.comp f) (k ∘ g) p := by
apply MvPolynomial.induction_on p <;>
simp (config := { contextual := true }) [eval₂_add, k.map_add, eval₂_mul, k.map_mul]
#align mv_polynomial.eval₂_comp_left MvPolynomial.eval₂_comp_left
+-/
end
+#print MvPolynomial.eval₂_eta /-
@[simp]
theorem eval₂_eta (p : MvPolynomial σ R) : eval₂ C X p = p := by
apply MvPolynomial.induction_on p <;>
simp (config := { contextual := true }) [eval₂_add, eval₂_mul]
#align mv_polynomial.eval₂_eta MvPolynomial.eval₂_eta
+-/
+#print MvPolynomial.eval₂_congr /-
theorem eval₂_congr (g₁ g₂ : σ → S₁)
(h : ∀ {i : σ} {c : σ →₀ ℕ}, i ∈ c.support → coeff c p ≠ 0 → g₁ i = g₂ i) :
p.eval₂ f g₁ = p.eval₂ f g₂ := by
@@ -1090,27 +1359,34 @@ theorem eval₂_congr (g₁ g₂ : σ → S₁)
apply h hi
rwa [Finsupp.mem_support_iff] at hc
#align mv_polynomial.eval₂_congr MvPolynomial.eval₂_congr
+-/
+#print MvPolynomial.eval₂_prod /-
@[simp]
theorem eval₂_prod (s : Finset S₂) (p : S₂ → MvPolynomial σ R) :
eval₂ f g (∏ x in s, p x) = ∏ x in s, eval₂ f g (p x) :=
(eval₂Hom f g).map_prod _ s
#align mv_polynomial.eval₂_prod MvPolynomial.eval₂_prod
+-/
+#print MvPolynomial.eval₂_sum /-
@[simp]
theorem eval₂_sum (s : Finset S₂) (p : S₂ → MvPolynomial σ R) :
eval₂ f g (∑ x in s, p x) = ∑ x in s, eval₂ f g (p x) :=
(eval₂Hom f g).map_sum _ s
#align mv_polynomial.eval₂_sum MvPolynomial.eval₂_sum
+-/
attribute [to_additive] eval₂_prod
+#print MvPolynomial.eval₂_assoc /-
theorem eval₂_assoc (q : S₂ → MvPolynomial σ R) (p : MvPolynomial S₂ R) :
eval₂ f (fun t => eval₂ f g (q t)) p = eval₂ f g (eval₂ C q p) :=
by
show _ = eval₂_hom f g (eval₂ C q p)
rw [eval₂_comp_left (eval₂_hom f g)]; congr with a; simp
#align mv_polynomial.eval₂_assoc MvPolynomial.eval₂_assoc
+-/
end Eval₂
@@ -1125,47 +1401,64 @@ def eval (f : σ → R) : MvPolynomial σ R →+* R :=
#align mv_polynomial.eval MvPolynomial.eval
-/
+#print MvPolynomial.eval_eq /-
theorem eval_eq (x : σ → R) (f : MvPolynomial σ R) :
eval x f = ∑ d in f.support, f.coeff d * ∏ i in d.support, x i ^ d i :=
rfl
#align mv_polynomial.eval_eq MvPolynomial.eval_eq
+-/
+#print MvPolynomial.eval_eq' /-
theorem eval_eq' [Fintype σ] (x : σ → R) (f : MvPolynomial σ R) :
eval x f = ∑ d in f.support, f.coeff d * ∏ i, x i ^ d i :=
eval₂_eq' (RingHom.id R) x f
#align mv_polynomial.eval_eq' MvPolynomial.eval_eq'
+-/
+#print MvPolynomial.eval_monomial /-
theorem eval_monomial : eval f (monomial s a) = a * s.Prod fun n e => f n ^ e :=
eval₂_monomial _ _
#align mv_polynomial.eval_monomial MvPolynomial.eval_monomial
+-/
+#print MvPolynomial.eval_C /-
@[simp]
theorem eval_C : ∀ a, eval f (C a) = a :=
eval₂_C _ _
#align mv_polynomial.eval_C MvPolynomial.eval_C
+-/
+#print MvPolynomial.eval_X /-
@[simp]
theorem eval_X : ∀ n, eval f (X n) = f n :=
eval₂_X _ _
#align mv_polynomial.eval_X MvPolynomial.eval_X
+-/
+#print MvPolynomial.smul_eval /-
@[simp]
theorem smul_eval (x) (p : MvPolynomial σ R) (s) : eval x (s • p) = s * eval x p := by
rw [smul_eq_C_mul, (eval x).map_mul, eval_C]
#align mv_polynomial.smul_eval MvPolynomial.smul_eval
+-/
+#print MvPolynomial.eval_sum /-
theorem eval_sum {ι : Type _} (s : Finset ι) (f : ι → MvPolynomial σ R) (g : σ → R) :
eval g (∑ i in s, f i) = ∑ i in s, eval g (f i) :=
(eval g).map_sum _ _
#align mv_polynomial.eval_sum MvPolynomial.eval_sum
+-/
+#print MvPolynomial.eval_prod /-
@[to_additive]
theorem eval_prod {ι : Type _} (s : Finset ι) (f : ι → MvPolynomial σ R) (g : σ → R) :
eval g (∏ i in s, f i) = ∏ i in s, eval g (f i) :=
(eval g).map_prod _ _
#align mv_polynomial.eval_prod MvPolynomial.eval_prod
#align mv_polynomial.eval_sum MvPolynomial.eval_sum
+-/
+#print MvPolynomial.eval_assoc /-
theorem eval_assoc {τ} (f : σ → MvPolynomial τ R) (g : τ → R) (p : MvPolynomial σ R) :
eval (eval g ∘ f) p = eval g (eval₂ C f p) :=
by
@@ -1173,12 +1466,16 @@ theorem eval_assoc {τ} (f : σ → MvPolynomial τ R) (g : τ → R) (p : MvPol
unfold eval; simp only [coe_eval₂_hom]
congr with a; simp
#align mv_polynomial.eval_assoc MvPolynomial.eval_assoc
+-/
+#print MvPolynomial.eval₂_id /-
@[simp]
theorem eval₂_id (p : MvPolynomial σ R) (g : σ → R) : eval₂ (RingHom.id _) g p = eval g p :=
rfl
#align mv_polynomial.eval₂_id MvPolynomial.eval₂_id
+-/
+#print MvPolynomial.eval_eval₂ /-
theorem eval_eval₂ {τ : Type _} (f : R →+* MvPolynomial τ S₁) (g : σ → MvPolynomial τ S₁)
(p : MvPolynomial σ R) (x : τ → S₁) :
eval x (eval₂ f g p) = eval₂ ((eval x).comp f) (fun s => eval x (g s)) p :=
@@ -1190,6 +1487,7 @@ theorem eval_eval₂ {τ : Type _} (f : R →+* MvPolynomial τ S₁) (g : σ
· intro p n hp
simp [hp]
#align mv_polynomial.eval_eval₂ MvPolynomial.eval_eval₂
+-/
end Eval
@@ -1204,25 +1502,34 @@ def map : MvPolynomial σ R →+* MvPolynomial σ S₁ :=
#align mv_polynomial.map MvPolynomial.map
-/
+#print MvPolynomial.map_monomial /-
@[simp]
theorem map_monomial (s : σ →₀ ℕ) (a : R) : map f (monomial s a) = monomial s (f a) :=
(eval₂_monomial _ _).trans monomial_eq.symm
#align mv_polynomial.map_monomial MvPolynomial.map_monomial
+-/
+#print MvPolynomial.map_C /-
@[simp]
theorem map_C : ∀ a : R, map f (C a : MvPolynomial σ R) = C (f a) :=
map_monomial _ _
#align mv_polynomial.map_C MvPolynomial.map_C
+-/
+#print MvPolynomial.map_X /-
@[simp]
theorem map_X : ∀ n : σ, map f (X n : MvPolynomial σ R) = X n :=
eval₂_X _ _
#align mv_polynomial.map_X MvPolynomial.map_X
+-/
+#print MvPolynomial.map_id /-
theorem map_id : ∀ p : MvPolynomial σ R, map (RingHom.id R) p = p :=
eval₂_eta
#align mv_polynomial.map_id MvPolynomial.map_id
+-/
+#print MvPolynomial.map_map /-
theorem map_map [CommSemiring S₂] (g : S₁ →+* S₂) (p : MvPolynomial σ R) :
map g (map f p) = map (g.comp f) p :=
(eval₂_comp_left (map g) (C.comp f) X p).trans <|
@@ -1231,7 +1538,9 @@ theorem map_map [CommSemiring S₂] (g : S₁ →+* S₂) (p : MvPolynomial σ R
· ext1 a; simp only [map_C, comp_app, RingHom.coe_comp]
· ext1 n; simp only [map_X, comp_app]
#align mv_polynomial.map_map MvPolynomial.map_map
+-/
+#print MvPolynomial.eval₂_eq_eval_map /-
theorem eval₂_eq_eval_map (g : σ → S₁) (p : MvPolynomial σ R) : p.eval₂ f g = eval g (map f p) :=
by
unfold map eval; simp only [coe_eval₂_hom]
@@ -1242,7 +1551,9 @@ theorem eval₂_eq_eval_map (g : σ → S₁) (p : MvPolynomial σ R) : p.eval
· ext1 a; simp only [coe_eval₂_hom, RingHom.id_apply, comp_app, eval₂_C, RingHom.coe_comp]
· ext1 n; simp only [comp_app, eval₂_X]
#align mv_polynomial.eval₂_eq_eval_map MvPolynomial.eval₂_eq_eval_map
+-/
+#print MvPolynomial.eval₂_comp_right /-
theorem eval₂_comp_right {S₂} [CommSemiring S₂] (k : S₁ →+* S₂) (f : R →+* S₁) (g : σ → S₁) (p) :
k (eval₂ f g p) = eval₂ k (k ∘ g) (map f p) :=
by
@@ -1252,7 +1563,9 @@ theorem eval₂_comp_right {S₂} [CommSemiring S₂] (k : S₁ →+* S₂) (f :
· intro p s hp
rw [eval₂_mul, k.map_mul, (map f).map_mul, eval₂_mul, map_X, hp, eval₂_X, eval₂_X]
#align mv_polynomial.eval₂_comp_right MvPolynomial.eval₂_comp_right
+-/
+#print MvPolynomial.map_eval₂ /-
theorem map_eval₂ (f : R →+* S₁) (g : S₂ → MvPolynomial S₃ R) (p : MvPolynomial S₂ R) :
map f (eval₂ C g p) = eval₂ C (map f ∘ g) (map f p) :=
by
@@ -1262,7 +1575,9 @@ theorem map_eval₂ (f : R →+* S₁) (g : S₂ → MvPolynomial S₃ R) (p : M
· intro p s hp
rw [eval₂_mul, (map f).map_mul, hp, (map f).map_mul, map_X, eval₂_mul, eval₂_X, eval₂_X]
#align mv_polynomial.map_eval₂ MvPolynomial.map_eval₂
+-/
+#print MvPolynomial.coeff_map /-
theorem coeff_map (p : MvPolynomial σ R) : ∀ m : σ →₀ ℕ, coeff m (map f p) = f (coeff m p) := by
classical
apply MvPolynomial.induction_on p <;> clear p
@@ -1273,7 +1588,9 @@ theorem coeff_map (p : MvPolynomial σ R) : ∀ m : σ →₀ ℕ, coeff m (map
split_ifs; · rfl
rw [f.map_zero]
#align mv_polynomial.coeff_map MvPolynomial.coeff_map
+-/
+#print MvPolynomial.map_injective /-
theorem map_injective (hf : Function.Injective f) :
Function.Injective (map f : MvPolynomial σ R → MvPolynomial σ S₁) :=
by
@@ -1282,7 +1599,9 @@ theorem map_injective (hf : Function.Injective f) :
intro m
exact hf (h m)
#align mv_polynomial.map_injective MvPolynomial.map_injective
+-/
+#print MvPolynomial.map_surjective /-
theorem map_surjective (hf : Function.Surjective f) :
Function.Surjective (map f : MvPolynomial σ R → MvPolynomial σ S₁) := fun p =>
by
@@ -1293,48 +1612,64 @@ theorem map_surjective (hf : Function.Surjective f) :
obtain ⟨b, rfl⟩ := hb
exact ⟨a + b, RingHom.map_add _ _ _⟩
#align mv_polynomial.map_surjective MvPolynomial.map_surjective
+-/
+#print MvPolynomial.map_leftInverse /-
/-- If `f` is a left-inverse of `g` then `map f` is a left-inverse of `map g`. -/
theorem map_leftInverse {f : R →+* S₁} {g : S₁ →+* R} (hf : Function.LeftInverse f g) :
Function.LeftInverse (map f : MvPolynomial σ R → MvPolynomial σ S₁) (map g) := fun x => by
rw [map_map, (RingHom.ext hf : f.comp g = RingHom.id _), map_id]
#align mv_polynomial.map_left_inverse MvPolynomial.map_leftInverse
+-/
+#print MvPolynomial.map_rightInverse /-
/-- If `f` is a right-inverse of `g` then `map f` is a right-inverse of `map g`. -/
theorem map_rightInverse {f : R →+* S₁} {g : S₁ →+* R} (hf : Function.RightInverse f g) :
Function.RightInverse (map f : MvPolynomial σ R → MvPolynomial σ S₁) (map g) :=
(map_leftInverse hf.LeftInverse).RightInverse
#align mv_polynomial.map_right_inverse MvPolynomial.map_rightInverse
+-/
+#print MvPolynomial.eval_map /-
@[simp]
theorem eval_map (f : R →+* S₁) (g : σ → S₁) (p : MvPolynomial σ R) :
eval g (map f p) = eval₂ f g p := by
apply MvPolynomial.induction_on p <;> · simp (config := { contextual := true })
#align mv_polynomial.eval_map MvPolynomial.eval_map
+-/
+#print MvPolynomial.eval₂_map /-
@[simp]
theorem eval₂_map [CommSemiring S₂] (f : R →+* S₁) (g : σ → S₂) (φ : S₁ →+* S₂)
(p : MvPolynomial σ R) : eval₂ φ g (map f p) = eval₂ (φ.comp f) g p := by
rw [← eval_map, ← eval_map, map_map]
#align mv_polynomial.eval₂_map MvPolynomial.eval₂_map
+-/
+#print MvPolynomial.eval₂Hom_map_hom /-
@[simp]
theorem eval₂Hom_map_hom [CommSemiring S₂] (f : R →+* S₁) (g : σ → S₂) (φ : S₁ →+* S₂)
(p : MvPolynomial σ R) : eval₂Hom φ g (map f p) = eval₂Hom (φ.comp f) g p :=
eval₂_map f g φ p
#align mv_polynomial.eval₂_hom_map_hom MvPolynomial.eval₂Hom_map_hom
+-/
+#print MvPolynomial.constantCoeff_map /-
@[simp]
theorem constantCoeff_map (f : R →+* S₁) (φ : MvPolynomial σ R) :
constantCoeff (MvPolynomial.map f φ) = f (constantCoeff φ) :=
coeff_map f φ 0
#align mv_polynomial.constant_coeff_map MvPolynomial.constantCoeff_map
+-/
+#print MvPolynomial.constantCoeff_comp_map /-
theorem constantCoeff_comp_map (f : R →+* S₁) :
(constantCoeff : MvPolynomial σ S₁ →+* S₁).comp (MvPolynomial.map f) = f.comp constantCoeff :=
by ext <;> simp
#align mv_polynomial.constant_coeff_comp_map MvPolynomial.constantCoeff_comp_map
+-/
+#print MvPolynomial.support_map_subset /-
theorem support_map_subset (p : MvPolynomial σ R) : (map f p).support ⊆ p.support :=
by
intro x
@@ -1346,7 +1681,9 @@ theorem support_map_subset (p : MvPolynomial σ R) : (map f p).support ⊆ p.sup
rw [hx]
exact RingHom.map_zero f
#align mv_polynomial.support_map_subset MvPolynomial.support_map_subset
+-/
+#print MvPolynomial.support_map_of_injective /-
theorem support_map_of_injective (p : MvPolynomial σ R) {f : R →+* S₁} (hf : Injective f) :
(map f p).support = p.support :=
by
@@ -1360,14 +1697,18 @@ theorem support_map_of_injective (p : MvPolynomial σ R) {f : R →+* S₁} (hf
rw [coeff_map, ← f.map_zero] at hx
exact hf hx
#align mv_polynomial.support_map_of_injective MvPolynomial.support_map_of_injective
+-/
+#print MvPolynomial.C_dvd_iff_map_hom_eq_zero /-
theorem C_dvd_iff_map_hom_eq_zero (q : R →+* S₁) (r : R) (hr : ∀ r' : R, q r' = 0 ↔ r ∣ r')
(φ : MvPolynomial σ R) : C r ∣ φ ↔ map q φ = 0 :=
by
rw [C_dvd_iff_dvd_coeff, MvPolynomial.ext_iff]
simp only [coeff_map, coeff_zero, hr]
#align mv_polynomial.C_dvd_iff_map_hom_eq_zero MvPolynomial.C_dvd_iff_map_hom_eq_zero
+-/
+#print MvPolynomial.map_mapRange_eq_iff /-
theorem map_mapRange_eq_iff (f : R →+* S₁) (g : S₁ → R) (hg : g 0 = 0) (φ : MvPolynomial σ S₁) :
map f (Finsupp.mapRange g hg φ) = φ ↔ ∀ d, f (g (coeff d φ)) = coeff d φ :=
by
@@ -1377,6 +1718,7 @@ theorem map_mapRange_eq_iff (f : R →+* S₁) (g : S₁ → R) (hg : g 0 = 0) (
apply eq_iff_eq_cancel_right.mpr
rfl
#align mv_polynomial.map_map_range_eq_iff MvPolynomial.map_mapRange_eq_iff
+-/
#print MvPolynomial.mapAlgHom /-
/-- If `f : S₁ →ₐ[R] S₂` is a morphism of `R`-algebras, then so is `mv_polynomial.map f`. -/
@@ -1393,18 +1735,22 @@ def mapAlgHom [CommSemiring S₂] [Algebra R S₁] [Algebra R S₂] (f : S₁
#align mv_polynomial.map_alg_hom MvPolynomial.mapAlgHom
-/
+#print MvPolynomial.mapAlgHom_id /-
@[simp]
theorem mapAlgHom_id [Algebra R S₁] :
mapAlgHom (AlgHom.id R S₁) = AlgHom.id R (MvPolynomial σ S₁) :=
AlgHom.ext map_id
#align mv_polynomial.map_alg_hom_id MvPolynomial.mapAlgHom_id
+-/
+#print MvPolynomial.mapAlgHom_coe_ringHom /-
@[simp]
theorem mapAlgHom_coe_ringHom [CommSemiring S₂] [Algebra R S₁] [Algebra R S₂] (f : S₁ →ₐ[R] S₂) :
↑(mapAlgHom f : _ →ₐ[R] MvPolynomial σ S₂) =
(map ↑f : MvPolynomial σ S₁ →+* MvPolynomial σ S₂) :=
RingHom.mk_coe _ _ _ _ _
#align mv_polynomial.map_alg_hom_coe_ring_hom MvPolynomial.mapAlgHom_coe_ringHom
+-/
end Map
@@ -1417,9 +1763,11 @@ variable [Algebra R S₁] [CommSemiring S₂]
variable (f : σ → S₁)
+#print MvPolynomial.algebraMap_apply /-
theorem algebraMap_apply (r : R) : algebraMap R (MvPolynomial σ S₁) r = C (algebraMap R S₁ r) :=
rfl
#align mv_polynomial.algebra_map_apply MvPolynomial.algebraMap_apply
+-/
#print MvPolynomial.aeval /-
/-- A map `σ → S₁` where `S₁` is an algebra over `R` generates an `R`-algebra homomorphism
@@ -1429,104 +1777,145 @@ def aeval : MvPolynomial σ R →ₐ[R] S₁ :=
#align mv_polynomial.aeval MvPolynomial.aeval
-/
+#print MvPolynomial.aeval_def /-
theorem aeval_def (p : MvPolynomial σ R) : aeval f p = eval₂ (algebraMap R S₁) f p :=
rfl
#align mv_polynomial.aeval_def MvPolynomial.aeval_def
+-/
+#print MvPolynomial.aeval_eq_eval₂Hom /-
theorem aeval_eq_eval₂Hom (p : MvPolynomial σ R) : aeval f p = eval₂Hom (algebraMap R S₁) f p :=
rfl
#align mv_polynomial.aeval_eq_eval₂_hom MvPolynomial.aeval_eq_eval₂Hom
+-/
+#print MvPolynomial.aeval_X /-
@[simp]
theorem aeval_X (s : σ) : aeval f (X s : MvPolynomial _ R) = f s :=
eval₂_X _ _ _
#align mv_polynomial.aeval_X MvPolynomial.aeval_X
+-/
+#print MvPolynomial.aeval_C /-
@[simp]
theorem aeval_C (r : R) : aeval f (C r) = algebraMap R S₁ r :=
eval₂_C _ _ _
#align mv_polynomial.aeval_C MvPolynomial.aeval_C
+-/
+#print MvPolynomial.aeval_unique /-
theorem aeval_unique (φ : MvPolynomial σ R →ₐ[R] S₁) : φ = aeval (φ ∘ X) := by ext i; simp
#align mv_polynomial.aeval_unique MvPolynomial.aeval_unique
+-/
+#print MvPolynomial.aeval_X_left /-
theorem aeval_X_left : aeval X = AlgHom.id R (MvPolynomial σ R) :=
(aeval_unique (AlgHom.id R _)).symm
#align mv_polynomial.aeval_X_left MvPolynomial.aeval_X_left
+-/
+#print MvPolynomial.aeval_X_left_apply /-
theorem aeval_X_left_apply (p : MvPolynomial σ R) : aeval X p = p :=
AlgHom.congr_fun aeval_X_left p
#align mv_polynomial.aeval_X_left_apply MvPolynomial.aeval_X_left_apply
+-/
+#print MvPolynomial.comp_aeval /-
theorem comp_aeval {B : Type _} [CommSemiring B] [Algebra R B] (φ : S₁ →ₐ[R] B) :
φ.comp (aeval f) = aeval fun i => φ (f i) := by ext i; simp
#align mv_polynomial.comp_aeval MvPolynomial.comp_aeval
+-/
+#print MvPolynomial.map_aeval /-
@[simp]
theorem map_aeval {B : Type _} [CommSemiring B] (g : σ → S₁) (φ : S₁ →+* B) (p : MvPolynomial σ R) :
φ (aeval g p) = eval₂Hom (φ.comp (algebraMap R S₁)) (fun i => φ (g i)) p := by
rw [← comp_eval₂_hom]; rfl
#align mv_polynomial.map_aeval MvPolynomial.map_aeval
+-/
+#print MvPolynomial.eval₂Hom_zero /-
@[simp]
theorem eval₂Hom_zero (f : R →+* S₂) : eval₂Hom f (0 : σ → S₂) = f.comp constantCoeff := by
ext <;> simp
#align mv_polynomial.eval₂_hom_zero MvPolynomial.eval₂Hom_zero
+-/
+#print MvPolynomial.eval₂Hom_zero' /-
@[simp]
theorem eval₂Hom_zero' (f : R →+* S₂) : eval₂Hom f (fun _ => 0 : σ → S₂) = f.comp constantCoeff :=
eval₂Hom_zero f
#align mv_polynomial.eval₂_hom_zero' MvPolynomial.eval₂Hom_zero'
+-/
+#print MvPolynomial.eval₂Hom_zero_apply /-
theorem eval₂Hom_zero_apply (f : R →+* S₂) (p : MvPolynomial σ R) :
eval₂Hom f (0 : σ → S₂) p = f (constantCoeff p) :=
RingHom.congr_fun (eval₂Hom_zero f) p
#align mv_polynomial.eval₂_hom_zero_apply MvPolynomial.eval₂Hom_zero_apply
+-/
+#print MvPolynomial.eval₂Hom_zero'_apply /-
theorem eval₂Hom_zero'_apply (f : R →+* S₂) (p : MvPolynomial σ R) :
eval₂Hom f (fun _ => 0 : σ → S₂) p = f (constantCoeff p) :=
eval₂Hom_zero_apply f p
#align mv_polynomial.eval₂_hom_zero'_apply MvPolynomial.eval₂Hom_zero'_apply
+-/
+#print MvPolynomial.eval₂_zero_apply /-
@[simp]
theorem eval₂_zero_apply (f : R →+* S₂) (p : MvPolynomial σ R) :
eval₂ f (0 : σ → S₂) p = f (constantCoeff p) :=
eval₂Hom_zero_apply _ _
#align mv_polynomial.eval₂_zero_apply MvPolynomial.eval₂_zero_apply
+-/
+#print MvPolynomial.eval₂_zero'_apply /-
@[simp]
theorem eval₂_zero'_apply (f : R →+* S₂) (p : MvPolynomial σ R) :
eval₂ f (fun _ => 0 : σ → S₂) p = f (constantCoeff p) :=
eval₂_zero_apply f p
#align mv_polynomial.eval₂_zero'_apply MvPolynomial.eval₂_zero'_apply
+-/
+#print MvPolynomial.aeval_zero /-
@[simp]
theorem aeval_zero (p : MvPolynomial σ R) :
aeval (0 : σ → S₁) p = algebraMap _ _ (constantCoeff p) :=
eval₂Hom_zero_apply (algebraMap R S₁) p
#align mv_polynomial.aeval_zero MvPolynomial.aeval_zero
+-/
+#print MvPolynomial.aeval_zero' /-
@[simp]
theorem aeval_zero' (p : MvPolynomial σ R) :
aeval (fun _ => 0 : σ → S₁) p = algebraMap _ _ (constantCoeff p) :=
aeval_zero p
#align mv_polynomial.aeval_zero' MvPolynomial.aeval_zero'
+-/
+#print MvPolynomial.eval_zero /-
@[simp]
theorem eval_zero : eval (0 : σ → R) = constantCoeff :=
eval₂Hom_zero _
#align mv_polynomial.eval_zero MvPolynomial.eval_zero
+-/
+#print MvPolynomial.eval_zero' /-
@[simp]
theorem eval_zero' : eval (fun _ => 0 : σ → R) = constantCoeff :=
eval₂Hom_zero _
#align mv_polynomial.eval_zero' MvPolynomial.eval_zero'
+-/
+#print MvPolynomial.aeval_monomial /-
theorem aeval_monomial (g : σ → S₁) (d : σ →₀ ℕ) (r : R) :
aeval g (monomial d r) = algebraMap _ _ r * d.Prod fun i k => g i ^ k :=
eval₂Hom_monomial _ _ _ _
#align mv_polynomial.aeval_monomial MvPolynomial.aeval_monomial
+-/
+#print MvPolynomial.eval₂Hom_eq_zero /-
theorem eval₂Hom_eq_zero (f : R →+* S₂) (g : σ → S₂) (φ : MvPolynomial σ R)
(h : ∀ d, φ.coeff d ≠ 0 → ∃ i ∈ d.support, g i = 0) : eval₂Hom f g φ = 0 :=
by
@@ -1537,31 +1926,40 @@ theorem eval₂Hom_eq_zero (f : R →+* S₂) (g : σ → S₂) (φ : MvPolynomi
rw [hgi, zero_pow]
rwa [pos_iff_ne_zero, ← Finsupp.mem_support_iff]
#align mv_polynomial.eval₂_hom_eq_zero MvPolynomial.eval₂Hom_eq_zero
+-/
+#print MvPolynomial.aeval_eq_zero /-
theorem aeval_eq_zero [Algebra R S₂] (f : σ → S₂) (φ : MvPolynomial σ R)
(h : ∀ d, φ.coeff d ≠ 0 → ∃ i ∈ d.support, f i = 0) : aeval f φ = 0 :=
eval₂Hom_eq_zero _ _ _ h
#align mv_polynomial.aeval_eq_zero MvPolynomial.aeval_eq_zero
+-/
+#print MvPolynomial.aeval_sum /-
theorem aeval_sum {ι : Type _} (s : Finset ι) (φ : ι → MvPolynomial σ R) :
aeval f (∑ i in s, φ i) = ∑ i in s, aeval f (φ i) :=
(MvPolynomial.aeval f).map_sum _ _
#align mv_polynomial.aeval_sum MvPolynomial.aeval_sum
+-/
+#print MvPolynomial.aeval_prod /-
@[to_additive]
theorem aeval_prod {ι : Type _} (s : Finset ι) (φ : ι → MvPolynomial σ R) :
aeval f (∏ i in s, φ i) = ∏ i in s, aeval f (φ i) :=
(MvPolynomial.aeval f).map_prod _ _
#align mv_polynomial.aeval_prod MvPolynomial.aeval_prod
#align mv_polynomial.aeval_sum MvPolynomial.aeval_sum
+-/
variable (R)
+#print Algebra.adjoin_range_eq_range_aeval /-
theorem Algebra.adjoin_range_eq_range_aeval :
Algebra.adjoin R (Set.range f) = (MvPolynomial.aeval f).range := by
simp only [← Algebra.map_top, ← MvPolynomial.adjoin_range_X, AlgHom.map_adjoin, ← Set.range_comp,
(· ∘ ·), MvPolynomial.aeval_X]
#align algebra.adjoin_range_eq_range_aeval Algebra.adjoin_range_eq_range_aeval
+-/
#print Algebra.adjoin_eq_range /-
theorem Algebra.adjoin_eq_range (s : Set S₁) :
@@ -1590,53 +1988,71 @@ def aevalTower (f : R →ₐ[S] A) (x : σ → A) : MvPolynomial σ R →ₐ[S]
variable (g : R →ₐ[S] A) (y : σ → A)
+#print MvPolynomial.aevalTower_X /-
@[simp]
theorem aevalTower_X (i : σ) : aevalTower g y (X i) = y i :=
eval₂_X _ _ _
#align mv_polynomial.aeval_tower_X MvPolynomial.aevalTower_X
+-/
+#print MvPolynomial.aevalTower_C /-
@[simp]
theorem aevalTower_C (x : R) : aevalTower g y (C x) = g x :=
eval₂_C _ _ _
#align mv_polynomial.aeval_tower_C MvPolynomial.aevalTower_C
+-/
+#print MvPolynomial.aevalTower_comp_C /-
@[simp]
theorem aevalTower_comp_C : (aevalTower g y : MvPolynomial σ R →+* A).comp C = g :=
RingHom.ext <| aevalTower_C _ _
#align mv_polynomial.aeval_tower_comp_C MvPolynomial.aevalTower_comp_C
+-/
+#print MvPolynomial.aevalTower_algebraMap /-
@[simp]
theorem aevalTower_algebraMap (x : R) : aevalTower g y (algebraMap R (MvPolynomial σ R) x) = g x :=
eval₂_C _ _ _
#align mv_polynomial.aeval_tower_algebra_map MvPolynomial.aevalTower_algebraMap
+-/
+#print MvPolynomial.aevalTower_comp_algebraMap /-
@[simp]
theorem aevalTower_comp_algebraMap :
(aevalTower g y : MvPolynomial σ R →+* A).comp (algebraMap R (MvPolynomial σ R)) = g :=
aevalTower_comp_C _ _
#align mv_polynomial.aeval_tower_comp_algebra_map MvPolynomial.aevalTower_comp_algebraMap
+-/
+#print MvPolynomial.aevalTower_toAlgHom /-
theorem aevalTower_toAlgHom (x : R) :
aevalTower g y (IsScalarTower.toAlgHom S R (MvPolynomial σ R) x) = g x :=
aevalTower_algebraMap _ _ _
#align mv_polynomial.aeval_tower_to_alg_hom MvPolynomial.aevalTower_toAlgHom
+-/
+#print MvPolynomial.aevalTower_comp_toAlgHom /-
@[simp]
theorem aevalTower_comp_toAlgHom :
(aevalTower g y).comp (IsScalarTower.toAlgHom S R (MvPolynomial σ R)) = g :=
AlgHom.coe_ringHom_injective <| aevalTower_comp_algebraMap _ _
#align mv_polynomial.aeval_tower_comp_to_alg_hom MvPolynomial.aevalTower_comp_toAlgHom
+-/
+#print MvPolynomial.aevalTower_id /-
@[simp]
theorem aevalTower_id : aevalTower (AlgHom.id S S) = (aeval : (σ → S) → MvPolynomial σ S →ₐ[S] S) :=
by ext; simp only [aeval_tower_X, aeval_X]
#align mv_polynomial.aeval_tower_id MvPolynomial.aevalTower_id
+-/
+#print MvPolynomial.aevalTower_ofId /-
@[simp]
theorem aevalTower_ofId :
aevalTower (Algebra.ofId S A) = (aeval : (σ → A) → MvPolynomial σ S →ₐ[S] A) := by ext;
simp only [aeval_X, aeval_tower_X]
#align mv_polynomial.aeval_tower_of_id MvPolynomial.aevalTower_ofId
+-/
end AevalTower
@@ -1644,6 +2060,7 @@ section EvalMem
variable {S subS : Type _} [CommSemiring S] [SetLike subS S] [SubsemiringClass subS S]
+#print MvPolynomial.eval₂_mem /-
theorem eval₂_mem {f : R →+* S} {p : MvPolynomial σ R} {s : subS}
(hs : ∀ i ∈ p.support, f (p.coeff i) ∈ s) {v : σ → S} (hv : ∀ i, v i ∈ s) :
MvPolynomial.eval₂ f v p ∈ s := by
@@ -1669,11 +2086,14 @@ theorem eval₂_mem {f : R →+* S} {p : MvPolynomial σ R} {s : subS}
exact zero_mem _
· rwa [zero_add] at this
#align mv_polynomial.eval₂_mem MvPolynomial.eval₂_mem
+-/
+#print MvPolynomial.eval_mem /-
theorem eval_mem {p : MvPolynomial σ S} {s : subS} (hs : ∀ i ∈ p.support, p.coeff i ∈ s) {v : σ → S}
(hv : ∀ i, v i ∈ s) : MvPolynomial.eval v p ∈ s :=
eval₂_mem hs hv
#align mv_polynomial.eval_mem MvPolynomial.eval_mem
+-/
end EvalMem
mathlib commit https://github.com/leanprover-community/mathlib/commit/a3e83f0fa4391c8740f7d773a7a9b74e311ae2a3
@@ -910,7 +910,7 @@ section AsSum
@[simp]
theorem support_sum_monomial_coeff (p : MvPolynomial σ R) :
- (∑ v in p.support, monomial v (coeff v p)) = p :=
+ ∑ v in p.support, monomial v (coeff v p) = p :=
Finsupp.sum_single p
#align mv_polynomial.support_sum_monomial_coeff MvPolynomial.support_sum_monomial_coeff
mathlib commit https://github.com/leanprover-community/mathlib/commit/7e5137f579de09a059a5ce98f364a04e221aabf0
@@ -989,7 +989,6 @@ theorem eval₂_mul_monomial :
_ = (p * monomial (single n 1) 1).eval₂ f g * f a * s.prod fun n e => g n ^ e := by
simp [ih, prod_single_index, prod_add_index, pow_one, pow_add, mul_assoc, mul_left_comm,
f.map_one, -add_comm]
-
#align mv_polynomial.eval₂_mul_monomial MvPolynomial.eval₂_mul_monomial
theorem eval₂_mul_C : (p * C a).eval₂ f g = p.eval₂ f g * f a :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/5f25c089cb34db4db112556f23c50d12da81b297
@@ -693,9 +693,9 @@ theorem coeff_X (i : σ) : coeff (single i 1) (X i : MvPolynomial σ R) = 1 := b
@[simp]
theorem coeff_C_mul (m) (a : R) (p : MvPolynomial σ R) : coeff m (C a * p) = a * coeff m p := by
classical
- rw [mul_def, sum_C]
- · simp (config := { contextual := true }) [sum_def, coeff_sum]
- simp
+ rw [mul_def, sum_C]
+ · simp (config := { contextual := true }) [sum_def, coeff_sum]
+ simp
#align mv_polynomial.coeff_C_mul MvPolynomial.coeff_C_mul
theorem coeff_mul (p q : MvPolynomial σ R) (n : σ →₀ ℕ) :
@@ -766,19 +766,19 @@ theorem support_symmDiff_support_subset_support_add [DecidableEq σ] (p q : MvPo
theorem coeff_mul_monomial' (m) (s : σ →₀ ℕ) (r : R) (p : MvPolynomial σ R) :
coeff m (p * monomial s r) = if s ≤ m then coeff (m - s) p * r else 0 := by
classical
- obtain rfl | hr := eq_or_ne r 0
- · simp only [monomial_zero, coeff_zero, MulZeroClass.mul_zero, if_t_t]
- haveI : Nontrivial R := nontrivial_of_ne _ _ hr
- split_ifs with h h
- · conv_rhs => rw [← coeff_mul_monomial _ s]
- congr with t
- rw [tsub_add_cancel_of_le h]
- · rw [← not_mem_support_iff]; intro hm; apply h
- have H := support_mul _ _ hm; simp only [Finset.mem_biUnion] at H
- rcases H with ⟨j, hj, i', hi', H⟩
- rw [support_monomial, if_neg hr, Finset.mem_singleton] at hi' ; subst i'
- rw [Finset.mem_singleton] at H ; subst m
- exact le_add_left le_rfl
+ obtain rfl | hr := eq_or_ne r 0
+ · simp only [monomial_zero, coeff_zero, MulZeroClass.mul_zero, if_t_t]
+ haveI : Nontrivial R := nontrivial_of_ne _ _ hr
+ split_ifs with h h
+ · conv_rhs => rw [← coeff_mul_monomial _ s]
+ congr with t
+ rw [tsub_add_cancel_of_le h]
+ · rw [← not_mem_support_iff]; intro hm; apply h
+ have H := support_mul _ _ hm; simp only [Finset.mem_biUnion] at H
+ rcases H with ⟨j, hj, i', hi', H⟩
+ rw [support_monomial, if_neg hr, Finset.mem_singleton] at hi' ; subst i'
+ rw [Finset.mem_singleton] at H ; subst m
+ exact le_add_left le_rfl
#align mv_polynomial.coeff_mul_monomial' MvPolynomial.coeff_mul_monomial'
theorem coeff_monomial_mul' (m) (s : σ →₀ ℕ) (r : R) (p : MvPolynomial σ R) :
@@ -829,15 +829,15 @@ theorem C_dvd_iff_dvd_coeff (r : R) (φ : MvPolynomial σ R) : C r ∣ φ ↔
· intro h
choose c hc using h
classical
- let c' : (σ →₀ ℕ) → R := fun i => if i ∈ φ.support then c i else 0
- let ψ : MvPolynomial σ R := ∑ i in φ.support, monomial i (c' i)
- use ψ
- apply MvPolynomial.ext
- intro i
- simp only [coeff_C_mul, coeff_sum, coeff_monomial, Finset.sum_ite_eq', c']
- split_ifs with hi hi
- · rw [hc]
- · rw [not_mem_support_iff] at hi ; rwa [MulZeroClass.mul_zero]
+ let c' : (σ →₀ ℕ) → R := fun i => if i ∈ φ.support then c i else 0
+ let ψ : MvPolynomial σ R := ∑ i in φ.support, monomial i (c' i)
+ use ψ
+ apply MvPolynomial.ext
+ intro i
+ simp only [coeff_C_mul, coeff_sum, coeff_monomial, Finset.sum_ite_eq', c']
+ split_ifs with hi hi
+ · rw [hc]
+ · rw [not_mem_support_iff] at hi ; rwa [MulZeroClass.mul_zero]
#align mv_polynomial.C_dvd_iff_dvd_coeff MvPolynomial.C_dvd_iff_dvd_coeff
end Coeff
@@ -977,19 +977,19 @@ theorem eval₂_X (n) : (X n).eval₂ f g = g n := by
theorem eval₂_mul_monomial :
∀ {s a}, (p * monomial s a).eval₂ f g = p.eval₂ f g * f a * s.Prod fun n e => g n ^ e := by
classical
- apply MvPolynomial.induction_on p
- · intro a' s a
- simp [C_mul_monomial, eval₂_monomial, f.map_mul]
- · intro p q ih_p ih_q; simp [add_mul, eval₂_add, ih_p, ih_q]
- · intro p n ih s a
- exact
- calc
- (p * X n * monomial s a).eval₂ f g = (p * monomial (single n 1 + s) a).eval₂ f g := by
- rw [monomial_single_add, pow_one, mul_assoc]
- _ = (p * monomial (single n 1) 1).eval₂ f g * f a * s.prod fun n e => g n ^ e := by
- simp [ih, prod_single_index, prod_add_index, pow_one, pow_add, mul_assoc, mul_left_comm,
- f.map_one, -add_comm]
-
+ apply MvPolynomial.induction_on p
+ · intro a' s a
+ simp [C_mul_monomial, eval₂_monomial, f.map_mul]
+ · intro p q ih_p ih_q; simp [add_mul, eval₂_add, ih_p, ih_q]
+ · intro p n ih s a
+ exact
+ calc
+ (p * X n * monomial s a).eval₂ f g = (p * monomial (single n 1 + s) a).eval₂ f g := by
+ rw [monomial_single_add, pow_one, mul_assoc]
+ _ = (p * monomial (single n 1) 1).eval₂ f g * f a * s.prod fun n e => g n ^ e := by
+ simp [ih, prod_single_index, prod_add_index, pow_one, pow_add, mul_assoc, mul_left_comm,
+ f.map_one, -add_comm]
+
#align mv_polynomial.eval₂_mul_monomial MvPolynomial.eval₂_mul_monomial
theorem eval₂_mul_C : (p * C a).eval₂ f g = p.eval₂ f g * f a :=
@@ -1266,13 +1266,13 @@ theorem map_eval₂ (f : R →+* S₁) (g : S₂ → MvPolynomial S₃ R) (p : M
theorem coeff_map (p : MvPolynomial σ R) : ∀ m : σ →₀ ℕ, coeff m (map f p) = f (coeff m p) := by
classical
- apply MvPolynomial.induction_on p <;> clear p
- · intro r m; rw [map_C]; simp only [coeff_C]; split_ifs; · rfl; rw [f.map_zero]
- · intro p q hp hq m; simp only [hp, hq, (map f).map_add, coeff_add]; rw [f.map_add]
- · intro p i hp m; simp only [hp, (map f).map_mul, map_X]
- simp only [hp, mem_support_iff, coeff_mul_X']
- split_ifs; · rfl
- rw [f.map_zero]
+ apply MvPolynomial.induction_on p <;> clear p
+ · intro r m; rw [map_C]; simp only [coeff_C]; split_ifs; · rfl; rw [f.map_zero]
+ · intro p q hp hq m; simp only [hp, hq, (map f).map_add, coeff_add]; rw [f.map_add]
+ · intro p i hp m; simp only [hp, (map f).map_mul, map_X]
+ simp only [hp, mem_support_iff, coeff_mul_X']
+ split_ifs; · rfl
+ rw [f.map_zero]
#align mv_polynomial.coeff_map MvPolynomial.coeff_map
theorem map_injective (hf : Function.Injective f) :
@@ -1649,26 +1649,26 @@ theorem eval₂_mem {f : R →+* S} {p : MvPolynomial σ R} {s : subS}
(hs : ∀ i ∈ p.support, f (p.coeff i) ∈ s) {v : σ → S} (hv : ∀ i, v i ∈ s) :
MvPolynomial.eval₂ f v p ∈ s := by
classical
- replace hs : ∀ i, f (p.coeff i) ∈ s
- · intro i
- by_cases hi : i ∈ p.support
- · exact hs i hi
- · rw [MvPolynomial.not_mem_support_iff.1 hi, f.map_zero]
- exact zero_mem s
- induction' p using MvPolynomial.induction_on''' with a a b f ha hb0 ih generalizing hs
- · simpa using hs 0
- rw [eval₂_add, eval₂_monomial]
- refine' add_mem (mul_mem _ <| prod_mem fun i hi => pow_mem (hv _) _) (ih fun i => _)
- ·
- simpa only [coeff_add, coeff_monomial, if_pos rfl, MvPolynomial.not_mem_support_iff.1 ha,
- add_zero] using hs a
- have := hs i
- rw [coeff_add, coeff_monomial] at this
- split_ifs at this with h h
- · subst h
- rw [MvPolynomial.not_mem_support_iff.1 ha, map_zero]
- exact zero_mem _
- · rwa [zero_add] at this
+ replace hs : ∀ i, f (p.coeff i) ∈ s
+ · intro i
+ by_cases hi : i ∈ p.support
+ · exact hs i hi
+ · rw [MvPolynomial.not_mem_support_iff.1 hi, f.map_zero]
+ exact zero_mem s
+ induction' p using MvPolynomial.induction_on''' with a a b f ha hb0 ih generalizing hs
+ · simpa using hs 0
+ rw [eval₂_add, eval₂_monomial]
+ refine' add_mem (mul_mem _ <| prod_mem fun i hi => pow_mem (hv _) _) (ih fun i => _)
+ ·
+ simpa only [coeff_add, coeff_monomial, if_pos rfl, MvPolynomial.not_mem_support_iff.1 ha,
+ add_zero] using hs a
+ have := hs i
+ rw [coeff_add, coeff_monomial] at this
+ split_ifs at this with h h
+ · subst h
+ rw [MvPolynomial.not_mem_support_iff.1 ha, map_zero]
+ exact zero_mem _
+ · rwa [zero_add] at this
#align mv_polynomial.eval₂_mem MvPolynomial.eval₂_mem
theorem eval_mem {p : MvPolynomial σ S} {s : subS} (hs : ∀ i ∈ p.support, p.coeff i ∈ s) {v : σ → S}
mathlib commit https://github.com/leanprover-community/mathlib/commit/cca40788df1b8755d5baf17ab2f27dacc2e17acb
@@ -425,7 +425,7 @@ theorem induction_on' {P : MvPolynomial σ R → Prop} (p : MvPolynomial σ R)
(h1 : ∀ (u : σ →₀ ℕ) (a : R), P (monomial u a))
(h2 : ∀ p q : MvPolynomial σ R, P p → P q → P (p + q)) : P p :=
Finsupp.induction p
- (suffices P (monomial 0 0) by rwa [monomial_zero] at this
+ (suffices P (monomial 0 0) by rwa [monomial_zero] at this
show P (monomial 0 0) from h1 0 0)
fun a b f ha hb hPf => h2 _ _ (h1 _ _) hPf
#align mv_polynomial.induction_on' MvPolynomial.induction_on'
@@ -458,7 +458,7 @@ theorem induction_on {M : MvPolynomial σ R → Prop} (p : MvPolynomial σ R) (h
theorem ringHom_ext {A : Type _} [Semiring A] {f g : MvPolynomial σ R →+* A}
(hC : ∀ r, f (C r) = g (C r)) (hX : ∀ i, f (X i) = g (X i)) : f = g := by ext;
- exacts[hC _, hX _]
+ exacts [hC _, hX _]
#align mv_polynomial.ring_hom_ext MvPolynomial.ringHom_ext
/-- See note [partially-applied ext lemmas]. -/
@@ -676,7 +676,7 @@ theorem coeff_X_pow [DecidableEq σ] (i : σ) (m) (k : ℕ) :
by
have := coeff_monomial m (Finsupp.single i k) (1 : R)
rwa [@monomial_eq _ _ (1 : R) (Finsupp.single i k) _, C_1, one_mul, Finsupp.prod_single_index] at
- this
+ this
exact pow_zero _
#align mv_polynomial.coeff_X_pow MvPolynomial.coeff_X_pow
@@ -749,7 +749,7 @@ theorem support_sdiff_support_subset_support_add [DecidableEq σ] (p q : MvPolyn
p.support \ q.support ⊆ (p + q).support :=
by
intro m hm
- simp only [Classical.not_not, mem_support_iff, Finset.mem_sdiff, Ne.def] at hm
+ simp only [Classical.not_not, mem_support_iff, Finset.mem_sdiff, Ne.def] at hm
simp [hm.2, hm.1]
#align mv_polynomial.support_sdiff_support_subset_support_add MvPolynomial.support_sdiff_support_subset_support_add
@@ -774,10 +774,10 @@ theorem coeff_mul_monomial' (m) (s : σ →₀ ℕ) (r : R) (p : MvPolynomial σ
congr with t
rw [tsub_add_cancel_of_le h]
· rw [← not_mem_support_iff]; intro hm; apply h
- have H := support_mul _ _ hm; simp only [Finset.mem_biUnion] at H
+ have H := support_mul _ _ hm; simp only [Finset.mem_biUnion] at H
rcases H with ⟨j, hj, i', hi', H⟩
- rw [support_monomial, if_neg hr, Finset.mem_singleton] at hi'; subst i'
- rw [Finset.mem_singleton] at H; subst m
+ rw [support_monomial, if_neg hr, Finset.mem_singleton] at hi' ; subst i'
+ rw [Finset.mem_singleton] at H ; subst m
exact le_add_left le_rfl
#align mv_polynomial.coeff_mul_monomial' MvPolynomial.coeff_mul_monomial'
@@ -837,7 +837,7 @@ theorem C_dvd_iff_dvd_coeff (r : R) (φ : MvPolynomial σ R) : C r ∣ φ ↔
simp only [coeff_C_mul, coeff_sum, coeff_monomial, Finset.sum_ite_eq', c']
split_ifs with hi hi
· rw [hc]
- · rw [not_mem_support_iff] at hi; rwa [MulZeroClass.mul_zero]
+ · rw [not_mem_support_iff] at hi ; rwa [MulZeroClass.mul_zero]
#align mv_polynomial.C_dvd_iff_dvd_coeff MvPolynomial.C_dvd_iff_dvd_coeff
end Coeff
@@ -1089,7 +1089,7 @@ theorem eval₂_congr (g₁ g₂ : σ → S₁)
apply Finset.prod_congr rfl
intro i hi; dsimp; congr 1
apply h hi
- rwa [Finsupp.mem_support_iff] at hc
+ rwa [Finsupp.mem_support_iff] at hc
#align mv_polynomial.eval₂_congr MvPolynomial.eval₂_congr
@[simp]
@@ -1237,7 +1237,7 @@ theorem eval₂_eq_eval_map (g : σ → S₁) (p : MvPolynomial σ R) : p.eval
by
unfold map eval; simp only [coe_eval₂_hom]
have h := eval₂_comp_left (eval₂_hom _ g)
- dsimp at h
+ dsimp at h
rw [h]
congr
· ext1 a; simp only [coe_eval₂_hom, RingHom.id_apply, comp_app, eval₂_C, RingHom.coe_comp]
@@ -1279,7 +1279,7 @@ theorem map_injective (hf : Function.Injective f) :
Function.Injective (map f : MvPolynomial σ R → MvPolynomial σ S₁) :=
by
intro p q h
- simp only [ext_iff, coeff_map] at h⊢
+ simp only [ext_iff, coeff_map] at h ⊢
intro m
exact hf (h m)
#align mv_polynomial.map_injective MvPolynomial.map_injective
@@ -1357,8 +1357,8 @@ theorem support_map_of_injective (p : MvPolynomial σ R) {f : R →+* S₁} (hf
rw [mem_support_iff]
contrapose! hx
simp only [Classical.not_not, mem_support_iff]
- change (map f p).coeff x = 0 at hx
- rw [coeff_map, ← f.map_zero] at hx
+ change (map f p).coeff x = 0 at hx
+ rw [coeff_map, ← f.map_zero] at hx
exact hf hx
#align mv_polynomial.support_map_of_injective MvPolynomial.support_map_of_injective
@@ -1663,12 +1663,12 @@ theorem eval₂_mem {f : R →+* S} {p : MvPolynomial σ R} {s : subS}
simpa only [coeff_add, coeff_monomial, if_pos rfl, MvPolynomial.not_mem_support_iff.1 ha,
add_zero] using hs a
have := hs i
- rw [coeff_add, coeff_monomial] at this
- split_ifs at this with h h
+ rw [coeff_add, coeff_monomial] at this
+ split_ifs at this with h h
· subst h
rw [MvPolynomial.not_mem_support_iff.1 ha, map_zero]
exact zero_mem _
- · rwa [zero_add] at this
+ · rwa [zero_add] at this
#align mv_polynomial.eval₂_mem MvPolynomial.eval₂_mem
theorem eval_mem {p : MvPolynomial σ S} {s : subS} (hs : ∀ i ∈ p.support, p.coeff i ∈ s) {v : σ → S}
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -77,11 +77,11 @@ polynomial, multivariate polynomial, multivariable polynomial
noncomputable section
-open BigOperators
+open scoped BigOperators
open Set Function Finsupp AddMonoidAlgebra
-open BigOperators
+open scoped BigOperators
universe u v w x
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -145,12 +145,6 @@ instance [CommSemiring S₁] [SMulZeroClass R S₁] [SMulZeroClass Rᵐᵒᵖ S
instance [CommSemiring R] [CommSemiring S₁] [Algebra R S₁] : Algebra R (MvPolynomial σ S₁) :=
AddMonoidAlgebra.algebra
-/- warning: mv_polynomial.is_scalar_tower' -> MvPolynomial.isScalarTower' is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : Algebra.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2)], IsScalarTower.{u1, max u3 u2, max u3 u2} R (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (SMulZeroClass.toHasSmul.{u1, max u3 u2} R (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MulZeroClass.toHasZero.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMulZeroClass.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))))) (MvPolynomial.smulZeroClass.{u1, u2, u3} R S₁ σ _inst_2 (SMulWithZero.toSmulZeroClass.{u1, u2} R S₁ (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (MulZeroClass.toHasZero.{u2} S₁ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R S₁ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toHasZero.{u2} S₁ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R S₁ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))) (Algebra.toModule.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) _inst_3)))))) (Mul.toSMul.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Distrib.toHasMul.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toDistrib.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))))))) (SMulZeroClass.toHasSmul.{u1, max u3 u2} R (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MulZeroClass.toHasZero.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMulZeroClass.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))))) (MvPolynomial.smulZeroClass.{u1, u2, u3} R S₁ σ _inst_2 (SMulWithZero.toSmulZeroClass.{u1, u2} R S₁ (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (MulZeroClass.toHasZero.{u2} S₁ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R S₁ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toHasZero.{u2} S₁ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R S₁ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))) (Algebra.toModule.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) _inst_3))))))
-but is expected to have type
- forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : Algebra.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2)], IsScalarTower.{u1, max u2 u3, max u2 u3} R (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Algebra.toSMul.{u1, max u2 u3} R (MvPolynomial.{u3, u2} σ S₁ _inst_2) _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)) (MvPolynomial.algebra.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 _inst_3)) (Algebra.toSMul.{max u2 u3, max u2 u3} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)) (Algebra.id.{max u2 u3} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))) (Algebra.toSMul.{u1, max u2 u3} R (MvPolynomial.{u3, u2} σ S₁ _inst_2) _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)) (MvPolynomial.algebra.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 _inst_3))
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.is_scalar_tower' MvPolynomial.isScalarTower'ₓ'. -/
-- Register with high priority to avoid timeout in `data.mv_polynomial.pderiv`
instance isScalarTower' [CommSemiring R] [CommSemiring S₁] [Algebra R S₁] :
IsScalarTower R (MvPolynomial σ S₁) (MvPolynomial σ S₁) :=
@@ -175,19 +169,10 @@ def monomial (s : σ →₀ ℕ) : R →ₗ[R] MvPolynomial σ R :=
#align mv_polynomial.monomial MvPolynomial.monomial
-/
-/- warning: mv_polynomial.single_eq_monomial -> MvPolynomial.single_eq_monomial is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (s : Finsupp.{u2, 0} σ Nat Nat.hasZero) (a : R), Eq.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} (Finsupp.{u2, 0} σ Nat Nat.hasZero) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (Finsupp.single.{u2, u1} (Finsupp.{u2, 0} σ Nat Nat.hasZero) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) s a) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) a)
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (a : R), Eq.{max (succ u2) (succ u1)} (Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (Finsupp.single.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)) s a) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a)
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.single_eq_monomial MvPolynomial.single_eq_monomialₓ'. -/
theorem single_eq_monomial (s : σ →₀ ℕ) (a : R) : single s a = monomial s a :=
rfl
#align mv_polynomial.single_eq_monomial MvPolynomial.single_eq_monomial
-/- warning: mv_polynomial.mul_def -> MvPolynomial.mul_def is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.mul_def MvPolynomial.mul_defₓ'. -/
theorem mul_def : p * q = p.Sum fun m a => q.Sum fun n b => monomial (m + n) (a * b) :=
rfl
#align mv_polynomial.mul_def MvPolynomial.mul_def
@@ -201,12 +186,6 @@ def C : R →+* MvPolynomial σ R :=
variable (R σ)
-/- warning: mv_polynomial.algebra_map_eq -> MvPolynomial.algebraMap_eq is a dubious translation:
-lean 3 declaration is
- forall (R : Type.{u1}) (σ : Type.{u2}) [_inst_1 : CommSemiring.{u1} R], Eq.{max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (algebraMap.{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))) (MvPolynomial.C.{u1, u2} R σ _inst_1)
-but is expected to have type
- forall (R : Type.{u2}) (σ : Type.{u1}) [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} (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)))) (algebraMap.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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.C.{u2, u1} R σ _inst_1)
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.algebra_map_eq MvPolynomial.algebraMap_eqₓ'. -/
theorem algebraMap_eq : algebraMap R (MvPolynomial σ R) = C :=
rfl
#align mv_polynomial.algebra_map_eq MvPolynomial.algebraMap_eq
@@ -220,102 +199,54 @@ def X (n : σ) : MvPolynomial σ R :=
#align mv_polynomial.X MvPolynomial.X
-/
-/- warning: mv_polynomial.monomial_left_injective -> MvPolynomial.monomial_left_injective is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {r : R}, (Ne.{succ u1} R r (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) -> (Function.Injective.{succ u2, max (succ u2) (succ u1)} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (MvPolynomial.{u2, u1} σ R _inst_1) (fun (s : Finsupp.{u2, 0} σ Nat Nat.hasZero) => coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) r))
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {r : R}, (Ne.{succ u2} R r (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) -> (Function.Injective.{succ u1, max (succ u2) (succ u1)} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (fun (s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) r))
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.monomial_left_injective MvPolynomial.monomial_left_injectiveₓ'. -/
theorem monomial_left_injective {r : R} (hr : r ≠ 0) :
Function.Injective fun s : σ →₀ ℕ => monomial s r :=
Finsupp.single_left_injective hr
#align mv_polynomial.monomial_left_injective MvPolynomial.monomial_left_injective
-/- warning: mv_polynomial.monomial_left_inj -> MvPolynomial.monomial_left_inj is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.monomial_left_inj MvPolynomial.monomial_left_injₓ'. -/
@[simp]
theorem monomial_left_inj {s t : σ →₀ ℕ} {r : R} (hr : r ≠ 0) :
monomial s r = monomial t r ↔ s = t :=
Finsupp.single_left_inj hr
#align mv_polynomial.monomial_left_inj MvPolynomial.monomial_left_inj
-/- warning: mv_polynomial.C_apply -> MvPolynomial.C_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.C_apply MvPolynomial.C_applyₓ'. -/
theorem C_apply : (C a : MvPolynomial σ R) = monomial 0 a :=
rfl
#align mv_polynomial.C_apply MvPolynomial.C_apply
-/- warning: mv_polynomial.C_0 -> MvPolynomial.C_0 is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R], Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) (OfNat.ofNat.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) 0 (OfNat.mk.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) 0 (Zero.zero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MulZeroClass.toHasZero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toMulZeroClass.{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)))))))))
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{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 (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : 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) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) (OfNat.ofNat.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) 0 (Zero.toOfNat0.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (CommMonoidWithZero.toZero.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toCommMonoidWithZero.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))))
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.C_0 MvPolynomial.C_0ₓ'. -/
@[simp]
theorem C_0 : C 0 = (0 : MvPolynomial σ R) := by simp [C_apply, monomial]
#align mv_polynomial.C_0 MvPolynomial.C_0
-/- warning: mv_polynomial.C_1 -> MvPolynomial.C_1 is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R], Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) (OfNat.ofNat.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) 1 (OfNat.mk.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) 1 (One.one.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (AddMonoidWithOne.toOne.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (AddCommMonoidWithOne.toAddMonoidWithOne.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toAddCommMonoidWithOne.{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)))))))))
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R (CommSemiring.toSemiring.{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 (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : 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) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (OfNat.ofNat.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) 1 (One.toOfNat1.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toOne.{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)))))
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.C_1 MvPolynomial.C_1ₓ'. -/
@[simp]
theorem C_1 : C 1 = (1 : MvPolynomial σ R) :=
rfl
#align mv_polynomial.C_1 MvPolynomial.C_1
-/- warning: mv_polynomial.C_mul_monomial -> MvPolynomial.C_mul_monomial is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.C_mul_monomial MvPolynomial.C_mul_monomialₓ'. -/
theorem C_mul_monomial : C a * monomial s a' = monomial s (a * a') := by
simp [C_apply, monomial, single_mul_single]
#align mv_polynomial.C_mul_monomial MvPolynomial.C_mul_monomial
-/- warning: mv_polynomial.C_add -> MvPolynomial.C_add is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.C_add MvPolynomial.C_addₓ'. -/
@[simp]
theorem C_add : (C (a + a') : MvPolynomial σ R) = C a + C a' :=
single_add _ _ _
#align mv_polynomial.C_add MvPolynomial.C_add
-/- warning: mv_polynomial.C_mul -> MvPolynomial.C_mul is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.C_mul MvPolynomial.C_mulₓ'. -/
@[simp]
theorem C_mul : (C (a * a') : MvPolynomial σ R) = C a * C a' :=
C_mul_monomial.symm
#align mv_polynomial.C_mul MvPolynomial.C_mul
-/- warning: mv_polynomial.C_pow -> MvPolynomial.C_pow is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.C_pow MvPolynomial.C_powₓ'. -/
@[simp]
theorem C_pow (a : R) (n : ℕ) : (C (a ^ n) : MvPolynomial σ R) = C a ^ n := by
induction n <;> simp [pow_succ, *]
#align mv_polynomial.C_pow MvPolynomial.C_pow
-/- warning: mv_polynomial.C_injective -> MvPolynomial.C_injective is a dubious translation:
-lean 3 declaration is
- forall (σ : Type.{u1}) (R : Type.{u2}) [_inst_3 : CommSemiring.{u2} R], Function.Injective.{succ u2, max (succ u1) (succ u2)} R (MvPolynomial.{u1, u2} σ R _inst_3) (coeFn.{max (succ u2) (succ (max u1 u2)), max (succ u2) (succ (max u1 u2))} (RingHom.{u2, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_3) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_3) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_3)))) (fun (_x : RingHom.{u2, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_3) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_3) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_3)))) => R -> (MvPolynomial.{u1, u2} σ R _inst_3)) (RingHom.hasCoeToFun.{u2, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_3) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_3) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_3)))) (MvPolynomial.C.{u2, u1} R σ _inst_3))
-but is expected to have type
- forall (σ : Type.{u2}) (R : Type.{u1}) [_inst_3 : CommSemiring.{u1} R], Function.Injective.{succ u1, max (succ u2) (succ u1)} R (MvPolynomial.{u2, u1} σ R _inst_3) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (RingHom.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u2, u1} σ R _inst_3) _x) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (RingHom.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3)))) R (MvPolynomial.{u2, u1} σ R _inst_3) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)))) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3))))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (RingHom.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3)))) R (MvPolynomial.{u2, u1} σ R _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3)))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u1, max u2 u1} (RingHom.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3)))) R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3))) (RingHom.instRingHomClassRingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3))))))) (MvPolynomial.C.{u1, u2} R σ _inst_3))
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.C_injective MvPolynomial.C_injectiveₓ'. -/
theorem C_injective (σ : Type _) (R : Type _) [CommSemiring R] :
Function.Injective (C : R → MvPolynomial σ R) :=
Finsupp.single_injective _
#align mv_polynomial.C_injective MvPolynomial.C_injective
-/- warning: mv_polynomial.C_surjective -> MvPolynomial.C_surjective is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} [_inst_3 : CommSemiring.{u1} R] (σ : Type.{u2}) [_inst_4 : IsEmpty.{succ u2} σ], Function.Surjective.{succ u1, max (succ u2) (succ u1)} R (MvPolynomial.{u2, u1} σ R _inst_3) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_3)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3)))) (MvPolynomial.C.{u1, u2} R σ _inst_3))
-but is expected to have type
- forall {R : Type.{u2}} [_inst_3 : CommSemiring.{u2} R] (σ : Type.{u1}) [_inst_4 : IsEmpty.{succ u1} σ], Function.Surjective.{succ u2, max (succ u2) (succ u1)} R (MvPolynomial.{u1, u2} σ R _inst_3) (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_3) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_3) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_3) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_3)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_3) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (RingHom.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_3) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_3) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_3) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_3)))) R (MvPolynomial.{u1, u2} σ R _inst_3) (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)))) (NonUnitalNonAssocSemiring.toMul.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_3) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_3) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_3) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_3))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (RingHom.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_3) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_3) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_3) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_3)))) R (MvPolynomial.{u1, u2} σ R _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_3) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_3) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_3) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_3)))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u2, max u1 u2} (RingHom.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_3) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_3) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_3) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_3)))) R (MvPolynomial.{u1, u2} σ R _inst_3) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_3) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_3) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_3))) (RingHom.instRingHomClassRingHom.{u2, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_3) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_3) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_3) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_3))))))) (MvPolynomial.C.{u2, u1} R σ _inst_3))
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.C_surjective MvPolynomial.C_surjectiveₓ'. -/
theorem C_surjective {R : Type _} [CommSemiring R] (σ : Type _) [IsEmpty σ] :
Function.Surjective (C : R → MvPolynomial σ R) :=
by
@@ -323,12 +254,6 @@ theorem C_surjective {R : Type _} [CommSemiring R] (σ : Type _) [IsEmpty σ] :
simpa [(Finsupp.ext isEmptyElim : a = 0), C_apply, monomial]
#align mv_polynomial.C_surjective MvPolynomial.C_surjective
-/- warning: mv_polynomial.C_inj -> MvPolynomial.C_inj is a dubious translation:
-lean 3 declaration is
- forall {σ : Type.{u1}} (R : Type.{u2}) [_inst_3 : CommSemiring.{u2} R] (r : R) (s : R), Iff (Eq.{max (succ u1) (succ u2)} (MvPolynomial.{u1, u2} σ R _inst_3) (coeFn.{max (succ u2) (succ (max u1 u2)), max (succ u2) (succ (max u1 u2))} (RingHom.{u2, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_3) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_3) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_3)))) (fun (_x : RingHom.{u2, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_3) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_3) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_3)))) => R -> (MvPolynomial.{u1, u2} σ R _inst_3)) (RingHom.hasCoeToFun.{u2, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_3) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_3) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_3)))) (MvPolynomial.C.{u2, u1} R σ _inst_3) r) (coeFn.{max (succ u2) (succ (max u1 u2)), max (succ u2) (succ (max u1 u2))} (RingHom.{u2, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_3) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_3) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_3)))) (fun (_x : RingHom.{u2, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_3) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_3) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_3)))) => R -> (MvPolynomial.{u1, u2} σ R _inst_3)) (RingHom.hasCoeToFun.{u2, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_3) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_3) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_3)))) (MvPolynomial.C.{u2, u1} R σ _inst_3) s)) (Eq.{succ u2} R r s)
-but is expected to have type
- forall {σ : Type.{u2}} (R : Type.{u1}) [_inst_3 : CommSemiring.{u1} R] (r : R) (s : R), Iff (Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u2, u1} σ R _inst_3) r) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (RingHom.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u2, u1} σ R _inst_3) _x) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (RingHom.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3)))) R (MvPolynomial.{u2, u1} σ R _inst_3) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)))) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3))))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (RingHom.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3)))) R (MvPolynomial.{u2, u1} σ R _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3)))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u1, max u2 u1} (RingHom.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3)))) R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3))) (RingHom.instRingHomClassRingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3))))))) (MvPolynomial.C.{u1, u2} R σ _inst_3) r) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (RingHom.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u2, u1} σ R _inst_3) _x) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (RingHom.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3)))) R (MvPolynomial.{u2, u1} σ R _inst_3) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)))) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3))))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (RingHom.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3)))) R (MvPolynomial.{u2, u1} σ R _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3)))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u1, max u2 u1} (RingHom.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3)))) R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3))) (RingHom.instRingHomClassRingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3))))))) (MvPolynomial.C.{u1, u2} R σ _inst_3) s)) (Eq.{succ u1} R r s)
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.C_inj MvPolynomial.C_injₓ'. -/
@[simp]
theorem C_inj {σ : Type _} (R : Type _) [CommSemiring R] (r s : R) :
(C r : MvPolynomial σ R) = C s ↔ r = s :=
@@ -350,84 +275,39 @@ instance infinite_of_nonempty (σ : Type _) (R : Type _) [Nonempty σ] [CommSemi
#align mv_polynomial.infinite_of_nonempty MvPolynomial.infinite_of_nonempty
-/
-/- warning: mv_polynomial.C_eq_coe_nat -> MvPolynomial.C_eq_coe_nat is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (n : Nat), Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Nat R (HasLiftT.mk.{1, succ u1} Nat R (CoeTCₓ.coe.{1, succ u1} Nat R (Nat.castCoe.{u1} R (AddMonoidWithOne.toNatCast.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))) n)) ((fun (a : Type) (b : Sort.{max (succ u2) (succ u1)}) [self : HasLiftT.{1, max (succ u2) (succ u1)} a b] => self.0) Nat (MvPolynomial.{u2, u1} σ R _inst_1) (HasLiftT.mk.{1, max (succ u2) (succ u1)} Nat (MvPolynomial.{u2, u1} σ R _inst_1) (CoeTCₓ.coe.{1, max (succ u2) (succ u1)} Nat (MvPolynomial.{u2, u1} σ R _inst_1) (Nat.castCoe.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (AddMonoidWithOne.toNatCast.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (AddCommMonoidWithOne.toAddMonoidWithOne.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toAddCommMonoidWithOne.{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))))))))) n)
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (n : Nat), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (Nat.cast.{u2} R (Semiring.toNatCast.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) n)) (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.2397 : 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) (Nat.cast.{u2} R (Semiring.toNatCast.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) n)) (Nat.cast.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (Nat.cast.{u2} R (Semiring.toNatCast.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) n)) (Semiring.toNatCast.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (Nat.cast.{u2} R (Semiring.toNatCast.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) n)) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (Nat.cast.{u2} R (Semiring.toNatCast.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) n)) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1))) n)
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.C_eq_coe_nat MvPolynomial.C_eq_coe_natₓ'. -/
theorem C_eq_coe_nat (n : ℕ) : (C ↑n : MvPolynomial σ R) = n := by
induction n <;> simp [Nat.succ_eq_add_one, *]
#align mv_polynomial.C_eq_coe_nat MvPolynomial.C_eq_coe_nat
-/- warning: mv_polynomial.C_mul' -> MvPolynomial.C_mul' is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} {a : R} [_inst_1 : CommSemiring.{u1} R] {p : MvPolynomial.{u2, u1} σ R _inst_1}, Eq.{succ (max u2 u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a) p) (SMul.smul.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (SMulZeroClass.toHasSmul.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (MulZeroClass.toHasZero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toMulZeroClass.{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)))))) (MvPolynomial.smulZeroClass.{u1, u1, u2} R R σ _inst_1 (SMulWithZero.toSmulZeroClass.{u1, u1} R R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (MulZeroClass.toSMulWithZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))) a p)
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} [_inst_1 : CommSemiring.{u2} R] {p : MvPolynomial.{u1, u2} σ R _inst_1}, Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u1, u2} σ R _inst_1) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} 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 (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : 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) a) p) (HSMul.hSMul.{u2, max u2 u1, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (Algebra.toSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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)))) a p)
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.C_mul' MvPolynomial.C_mul'ₓ'. -/
theorem C_mul' : MvPolynomial.C a * p = a • p :=
(Algebra.smul_def a p).symm
#align mv_polynomial.C_mul' MvPolynomial.C_mul'
-/- warning: mv_polynomial.smul_eq_C_mul -> MvPolynomial.smul_eq_C_mul is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (p : MvPolynomial.{u2, u1} σ R _inst_1) (a : R), Eq.{succ (max u2 u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (SMul.smul.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (SMulZeroClass.toHasSmul.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (MulZeroClass.toHasZero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toMulZeroClass.{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)))))) (MvPolynomial.smulZeroClass.{u1, u1, u2} R R σ _inst_1 (SMulWithZero.toSmulZeroClass.{u1, u1} R R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (MulZeroClass.toSMulWithZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))) a p) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a) p)
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (p : MvPolynomial.{u1, u2} σ R _inst_1) (a : R), Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u1, u2} σ R _inst_1) (HSMul.hSMul.{u2, max u2 u1, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (Algebra.toSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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)))) a p) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} 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 (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : 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) a) p)
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.smul_eq_C_mul MvPolynomial.smul_eq_C_mulₓ'. -/
theorem smul_eq_C_mul (p : MvPolynomial σ R) (a : R) : a • p = C a * p :=
C_mul'.symm
#align mv_polynomial.smul_eq_C_mul MvPolynomial.smul_eq_C_mul
-/- warning: mv_polynomial.C_eq_smul_one -> MvPolynomial.C_eq_smul_one is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} {a : R} [_inst_1 : CommSemiring.{u1} R], Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a) (SMul.smul.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (SMulZeroClass.toHasSmul.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (MulZeroClass.toHasZero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toMulZeroClass.{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)))))) (MvPolynomial.smulZeroClass.{u1, u1, u2} R R σ _inst_1 (SMulWithZero.toSmulZeroClass.{u1, u1} R R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (MulZeroClass.toSMulWithZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))) a (OfNat.ofNat.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) 1 (OfNat.mk.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) 1 (One.one.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (AddMonoidWithOne.toOne.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (AddCommMonoidWithOne.toAddMonoidWithOne.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toAddCommMonoidWithOne.{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))))))))))
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (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.2397 : 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) a) (HSMul.hSMul.{u2, max u2 u1, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (Algebra.toSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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)))) a (OfNat.ofNat.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) 1 (One.toOfNat1.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toOne.{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))))))
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.C_eq_smul_one MvPolynomial.C_eq_smul_oneₓ'. -/
theorem C_eq_smul_one : (C a : MvPolynomial σ R) = a • 1 := by rw [← C_mul', mul_one]
#align mv_polynomial.C_eq_smul_one MvPolynomial.C_eq_smul_one
-/- warning: mv_polynomial.smul_monomial -> MvPolynomial.smul_monomial is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.smul_monomial MvPolynomial.smul_monomialₓ'. -/
theorem smul_monomial {S₁ : Type _} [SMulZeroClass S₁ R] (r : S₁) :
r • monomial s a = monomial s (r • a) :=
Finsupp.smul_single _ _ _
#align mv_polynomial.smul_monomial MvPolynomial.smul_monomial
-/- warning: mv_polynomial.X_injective -> MvPolynomial.X_injective is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_3 : Nontrivial.{u1} R], Function.Injective.{succ u2, max (succ u2) (succ u1)} σ (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.X.{u1, u2} R σ _inst_1)
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_3 : Nontrivial.{u2} R], Function.Injective.{succ u1, max (succ u2) (succ u1)} σ (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.X.{u2, u1} R σ _inst_1)
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.X_injective MvPolynomial.X_injectiveₓ'. -/
theorem X_injective [Nontrivial R] : Function.Injective (X : σ → MvPolynomial σ R) :=
(monomial_left_injective one_ne_zero).comp (Finsupp.single_left_injective one_ne_zero)
#align mv_polynomial.X_injective MvPolynomial.X_injective
-/- warning: mv_polynomial.X_inj -> MvPolynomial.X_inj is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_3 : Nontrivial.{u1} R] (m : σ) (n : σ), Iff (Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.X.{u1, u2} R σ _inst_1 m) (MvPolynomial.X.{u1, u2} R σ _inst_1 n)) (Eq.{succ u2} σ m n)
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_3 : Nontrivial.{u2} R] (m : σ) (n : σ), Iff (Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.X.{u2, u1} R σ _inst_1 m) (MvPolynomial.X.{u2, u1} R σ _inst_1 n)) (Eq.{succ u1} σ m n)
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.X_inj MvPolynomial.X_injₓ'. -/
@[simp]
theorem X_inj [Nontrivial R] (m n : σ) : X m = (X n : MvPolynomial σ R) ↔ m = n :=
X_injective.eq_iff
#align mv_polynomial.X_inj MvPolynomial.X_inj
-/- warning: mv_polynomial.monomial_pow -> MvPolynomial.monomial_pow is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.monomial_pow MvPolynomial.monomial_powₓ'. -/
theorem monomial_pow : monomial s a ^ e = monomial (e • s) (a ^ e) :=
AddMonoidAlgebra.single_pow e
#align mv_polynomial.monomial_pow MvPolynomial.monomial_pow
-/- warning: mv_polynomial.monomial_mul -> MvPolynomial.monomial_mul is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.monomial_mul MvPolynomial.monomial_mulₓ'. -/
@[simp]
theorem monomial_mul {s s' : σ →₀ ℕ} {a b : R} :
monomial s a * monomial s' b = monomial (s + s') (a * b) :=
@@ -445,147 +325,81 @@ def monomialOneHom : Multiplicative (σ →₀ ℕ) →* MvPolynomial σ R :=
variable {σ R}
-/- warning: mv_polynomial.monomial_one_hom_apply -> MvPolynomial.monomialOneHom_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.monomial_one_hom_apply MvPolynomial.monomialOneHom_applyₓ'. -/
@[simp]
theorem monomialOneHom_apply : monomialOneHom R σ s = (monomial s 1 : MvPolynomial σ R) :=
rfl
#align mv_polynomial.monomial_one_hom_apply MvPolynomial.monomialOneHom_apply
-/- warning: mv_polynomial.X_pow_eq_monomial -> MvPolynomial.X_pow_eq_monomial is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} {e : Nat} {n : σ} [_inst_1 : CommSemiring.{u1} R], Eq.{succ (max u2 u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (HPow.hPow.{max u2 u1, 0, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) Nat (MvPolynomial.{u2, u1} σ R _inst_1) (instHPow.{max u2 u1, 0} (MvPolynomial.{u2, u1} σ R _inst_1) Nat (Monoid.Pow.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MonoidWithZero.toMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (MvPolynomial.X.{u1, u2} R σ _inst_1 n) e) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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.single.{u2, 0} σ Nat Nat.hasZero n e)) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} {e : Nat} {n : σ} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u1, u2} σ R _inst_1) (HPow.hPow.{max u1 u2, 0, max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (MvPolynomial.{u1, u2} σ R _inst_1) (instHPow.{max u1 u2, 0} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (Monoid.Pow.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (MvPolynomial.X.{u2, u1} R σ _inst_1 n) e) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 (Finsupp.single.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) n e)) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.X_pow_eq_monomial MvPolynomial.X_pow_eq_monomialₓ'. -/
theorem X_pow_eq_monomial : X n ^ e = monomial (single n e) (1 : R) := by simp [X, monomial_pow]
#align mv_polynomial.X_pow_eq_monomial MvPolynomial.X_pow_eq_monomial
-/- warning: mv_polynomial.monomial_add_single -> MvPolynomial.monomial_add_single is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.monomial_add_single MvPolynomial.monomial_add_singleₓ'. -/
theorem monomial_add_single : monomial (s + single n e) a = monomial s a * X n ^ e := by
rw [X_pow_eq_monomial, monomial_mul, mul_one]
#align mv_polynomial.monomial_add_single MvPolynomial.monomial_add_single
-/- warning: mv_polynomial.monomial_single_add -> MvPolynomial.monomial_single_add is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.monomial_single_add MvPolynomial.monomial_single_addₓ'. -/
theorem monomial_single_add : monomial (single n e + s) a = X n ^ e * monomial s a := by
rw [X_pow_eq_monomial, monomial_mul, one_mul]
#align mv_polynomial.monomial_single_add MvPolynomial.monomial_single_add
-/- warning: mv_polynomial.C_mul_X_pow_eq_monomial -> MvPolynomial.C_mul_X_pow_eq_monomial is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.C_mul_X_pow_eq_monomial MvPolynomial.C_mul_X_pow_eq_monomialₓ'. -/
theorem C_mul_X_pow_eq_monomial {s : σ} {a : R} {n : ℕ} : C a * X s ^ n = monomial (single s n) a :=
by rw [← zero_add (single s n), monomial_add_single, C_apply]
#align mv_polynomial.C_mul_X_pow_eq_monomial MvPolynomial.C_mul_X_pow_eq_monomial
-/- warning: mv_polynomial.C_mul_X_eq_monomial -> MvPolynomial.C_mul_X_eq_monomial is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.C_mul_X_eq_monomial MvPolynomial.C_mul_X_eq_monomialₓ'. -/
theorem C_mul_X_eq_monomial {s : σ} {a : R} : C a * X s = monomial (single s 1) a := by
rw [← C_mul_X_pow_eq_monomial, pow_one]
#align mv_polynomial.C_mul_X_eq_monomial MvPolynomial.C_mul_X_eq_monomial
-/- warning: mv_polynomial.monomial_zero -> MvPolynomial.monomial_zero is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {s : Finsupp.{u2, 0} σ Nat Nat.hasZero}, Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) (OfNat.ofNat.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) 0 (OfNat.mk.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) 0 (Zero.zero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MulZeroClass.toHasZero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toMulZeroClass.{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)))))))))
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)}, Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) (OfNat.ofNat.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) 0 (Zero.toOfNat0.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) (CommMonoidWithZero.toZero.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) (CommSemiring.toCommMonoidWithZero.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))))
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.monomial_zero MvPolynomial.monomial_zeroₓ'. -/
@[simp]
theorem monomial_zero {s : σ →₀ ℕ} : monomial s (0 : R) = 0 :=
single_zero _
#align mv_polynomial.monomial_zero MvPolynomial.monomial_zero
-/- warning: mv_polynomial.monomial_zero' -> MvPolynomial.monomial_zero' is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.monomial_zero' MvPolynomial.monomial_zero'ₓ'. -/
@[simp]
theorem monomial_zero' : (monomial (0 : σ →₀ ℕ) : R → MvPolynomial σ R) = C :=
rfl
#align mv_polynomial.monomial_zero' MvPolynomial.monomial_zero'
-/- warning: mv_polynomial.monomial_eq_zero -> MvPolynomial.monomial_eq_zero is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {s : Finsupp.{u2, 0} σ Nat Nat.hasZero} {b : R}, Iff (Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) b) (OfNat.ofNat.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) 0 (OfNat.mk.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) 0 (Zero.zero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MulZeroClass.toHasZero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toMulZeroClass.{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)))))))))) (Eq.{succ u1} R b (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} {b : R}, Iff (Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) b) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) b) (OfNat.ofNat.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) b) 0 (Zero.toOfNat0.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) b) (CommMonoidWithZero.toZero.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) b) (CommSemiring.toCommMonoidWithZero.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) b) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))))) (Eq.{succ u2} R b (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.monomial_eq_zero MvPolynomial.monomial_eq_zeroₓ'. -/
@[simp]
theorem monomial_eq_zero {s : σ →₀ ℕ} {b : R} : monomial s b = 0 ↔ b = 0 :=
Finsupp.single_eq_zero
#align mv_polynomial.monomial_eq_zero MvPolynomial.monomial_eq_zero
-/- warning: mv_polynomial.sum_monomial_eq -> MvPolynomial.sum_monomial_eq is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {A : Type.{u3}} [_inst_3 : AddCommMonoid.{u3} A] {u : Finsupp.{u2, 0} σ Nat Nat.hasZero} {r : R} {b : (Finsupp.{u2, 0} σ Nat Nat.hasZero) -> R -> A}, (Eq.{succ u3} A (b u (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) (OfNat.ofNat.{u3} A 0 (OfNat.mk.{u3} A 0 (Zero.zero.{u3} A (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A _inst_3))))))) -> (Eq.{succ u3} A (Finsupp.sum.{u2, u1, u3} (Finsupp.{u2, 0} σ Nat Nat.hasZero) R A (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) _inst_3 (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 u) r) b) (b u r))
-but is expected to have type
- forall {R : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] {A : Type.{u2}} [_inst_3 : AddCommMonoid.{u2} A] {u : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} {r : R} {b : (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) -> R -> A}, (Eq.{succ u2} A (b u (OfNat.ofNat.{u3} R 0 (Zero.toOfNat0.{u3} R (CommMonoidWithZero.toZero.{u3} R (CommSemiring.toCommMonoidWithZero.{u3} R _inst_1))))) (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (AddMonoid.toZero.{u2} A (AddCommMonoid.toAddMonoid.{u2} A _inst_3))))) -> (Eq.{succ u2} A (Finsupp.sum.{u1, u3, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R A (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) _inst_3 (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearMap.{u3, u3, u3, max u3 u1} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) 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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u3} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 u) r) b) (b u r))
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.sum_monomial_eq MvPolynomial.sum_monomial_eqₓ'. -/
@[simp]
theorem sum_monomial_eq {A : Type _} [AddCommMonoid A] {u : σ →₀ ℕ} {r : R} {b : (σ →₀ ℕ) → R → A}
(w : b u 0 = 0) : Sum (monomial u r) b = b u r :=
sum_single_index w
#align mv_polynomial.sum_monomial_eq MvPolynomial.sum_monomial_eq
-/- warning: mv_polynomial.sum_C -> MvPolynomial.sum_C is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} {a : R} [_inst_1 : CommSemiring.{u1} R] {A : Type.{u3}} [_inst_3 : AddCommMonoid.{u3} A] {b : (Finsupp.{u2, 0} σ Nat Nat.hasZero) -> R -> A}, (Eq.{succ u3} A (b (OfNat.ofNat.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (OfNat.mk.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (Zero.zero.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.zero.{u2, 0} σ Nat Nat.hasZero)))) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) (OfNat.ofNat.{u3} A 0 (OfNat.mk.{u3} A 0 (Zero.zero.{u3} A (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A _inst_3))))))) -> (Eq.{succ u3} A (Finsupp.sum.{u2, u1, u3} (Finsupp.{u2, 0} σ Nat Nat.hasZero) R A (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) _inst_3 (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a) b) (b (OfNat.ofNat.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (OfNat.mk.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (Zero.zero.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.zero.{u2, 0} σ Nat Nat.hasZero)))) a))
-but is expected to have type
- forall {R : Type.{u3}} {σ : Type.{u1}} {a : R} [_inst_1 : CommSemiring.{u3} R] {A : Type.{u2}} [_inst_3 : AddCommMonoid.{u2} A] {b : (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) -> R -> A}, (Eq.{succ u2} A (b (OfNat.ofNat.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) 0 (Zero.toOfNat0.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.zero.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)))) (OfNat.ofNat.{u3} R 0 (Zero.toOfNat0.{u3} R (CommMonoidWithZero.toZero.{u3} R (CommSemiring.toCommMonoidWithZero.{u3} R _inst_1))))) (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (AddMonoid.toZero.{u2} A (AddCommMonoid.toAddMonoid.{u2} A _inst_3))))) -> (Eq.{succ u2} A (Finsupp.sum.{u1, u3, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R A (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) _inst_3 (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u3} σ R _inst_1) _x) (MulHomClass.toFunLike.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (RingHom.instRingHomClassRingHom.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (MvPolynomial.C.{u3, u1} R σ _inst_1) a) b) (b (OfNat.ofNat.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) 0 (Zero.toOfNat0.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.zero.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)))) a))
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.sum_C MvPolynomial.sum_Cₓ'. -/
@[simp]
theorem sum_C {A : Type _} [AddCommMonoid A] {b : (σ →₀ ℕ) → R → A} (w : b 0 0 = 0) :
Sum (C a) b = b 0 a :=
sum_monomial_eq w
#align mv_polynomial.sum_C MvPolynomial.sum_C
-/- warning: mv_polynomial.monomial_sum_one -> MvPolynomial.monomial_sum_one is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.monomial_sum_one MvPolynomial.monomial_sum_oneₓ'. -/
theorem monomial_sum_one {α : Type _} (s : Finset α) (f : α → σ →₀ ℕ) :
(monomial (∑ i in s, f i) 1 : MvPolynomial σ R) = ∏ i in s, monomial (f i) 1 :=
(monomialOneHom R σ).map_prod (fun i => Multiplicative.ofAdd (f i)) s
#align mv_polynomial.monomial_sum_one MvPolynomial.monomial_sum_one
-/- warning: mv_polynomial.monomial_sum_index -> MvPolynomial.monomial_sum_index is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.monomial_sum_index MvPolynomial.monomial_sum_indexₓ'. -/
theorem monomial_sum_index {α : Type _} (s : Finset α) (f : α → σ →₀ ℕ) (a : R) :
monomial (∑ i in s, f i) a = C a * ∏ i in s, monomial (f i) 1 := by
rw [← monomial_sum_one, C_mul', ← (monomial _).map_smul, smul_eq_mul, mul_one]
#align mv_polynomial.monomial_sum_index MvPolynomial.monomial_sum_index
-/- warning: mv_polynomial.monomial_finsupp_sum_index -> MvPolynomial.monomial_finsupp_sum_index is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.monomial_finsupp_sum_index MvPolynomial.monomial_finsupp_sum_indexₓ'. -/
theorem monomial_finsupp_sum_index {α β : Type _} [Zero β] (f : α →₀ β) (g : α → β → σ →₀ ℕ)
(a : R) : monomial (f.Sum g) a = C a * f.Prod fun a b => monomial (g a b) 1 :=
monomial_sum_index _ _ _
#align mv_polynomial.monomial_finsupp_sum_index MvPolynomial.monomial_finsupp_sum_index
-/- warning: mv_polynomial.monomial_eq_monomial_iff -> MvPolynomial.monomial_eq_monomial_iff is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.monomial_eq_monomial_iff MvPolynomial.monomial_eq_monomial_iffₓ'. -/
theorem monomial_eq_monomial_iff {α : Type _} (a₁ a₂ : α →₀ ℕ) (b₁ b₂ : R) :
monomial a₁ b₁ = monomial a₂ b₂ ↔ a₁ = a₂ ∧ b₁ = b₂ ∨ b₁ = 0 ∧ b₂ = 0 :=
Finsupp.single_eq_single_iff _ _ _ _
#align mv_polynomial.monomial_eq_monomial_iff MvPolynomial.monomial_eq_monomial_iff
-/- warning: mv_polynomial.monomial_eq -> MvPolynomial.monomial_eq is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.monomial_eq MvPolynomial.monomial_eqₓ'. -/
theorem monomial_eq : monomial s a = C a * (s.Prod fun n e => X n ^ e : MvPolynomial σ R) := by
simp only [X_pow_eq_monomial, ← monomial_finsupp_sum_index, Finsupp.sum_single]
#align mv_polynomial.monomial_eq MvPolynomial.monomial_eq
-/- warning: mv_polynomial.induction_on_monomial -> MvPolynomial.induction_on_monomial is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.induction_on_monomial MvPolynomial.induction_on_monomialₓ'. -/
theorem induction_on_monomial {M : MvPolynomial σ R → Prop} (h_C : ∀ a, M (C a))
(h_X : ∀ p n, M p → M (p * X n)) : ∀ s a, M (monomial s a) :=
by
@@ -602,12 +416,6 @@ theorem induction_on_monomial {M : MvPolynomial σ R → Prop} (h_C : ∀ a, M (
simp [add_comm, monomial_add_single, this]
#align mv_polynomial.induction_on_monomial MvPolynomial.induction_on_monomial
-/- warning: mv_polynomial.induction_on' -> MvPolynomial.induction_on' is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {P : (MvPolynomial.{u2, u1} σ R _inst_1) -> Prop} (p : MvPolynomial.{u2, u1} σ R _inst_1), (forall (u : Finsupp.{u2, 0} σ Nat Nat.hasZero) (a : R), P (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 u) a)) -> (forall (p : MvPolynomial.{u2, u1} σ R _inst_1) (q : MvPolynomial.{u2, u1} σ R _inst_1), (P p) -> (P q) -> (P (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHAdd.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasAdd.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) p q))) -> (P p)
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {P : (MvPolynomial.{u1, u2} σ R _inst_1) -> Prop} (p : MvPolynomial.{u1, u2} σ R _inst_1), (forall (u : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (a : R), P (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 u) a)) -> (forall (p : MvPolynomial.{u1, u2} σ R _inst_1) (q : MvPolynomial.{u1, u2} σ R _inst_1), (P p) -> (P q) -> (P (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHAdd.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (Distrib.toAdd.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))))) p q))) -> (P p)
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.induction_on' MvPolynomial.induction_on'ₓ'. -/
/-- Analog of `polynomial.induction_on'`.
To prove something about mv_polynomials,
it suffices to show the condition is closed under taking sums,
@@ -622,9 +430,6 @@ theorem induction_on' {P : MvPolynomial σ R → Prop} (p : MvPolynomial σ R)
fun a b f ha hb hPf => h2 _ _ (h1 _ _) hPf
#align mv_polynomial.induction_on' MvPolynomial.induction_on'
-/- warning: mv_polynomial.induction_on''' -> MvPolynomial.induction_on''' is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.induction_on''' MvPolynomial.induction_on'''ₓ'. -/
/-- Similar to `mv_polynomial.induction_on` but only a weak form of `h_add` is required.-/
theorem induction_on''' {M : MvPolynomial σ R → Prop} (p : MvPolynomial σ R) (h_C : ∀ a, M (C a))
(h_add_weak :
@@ -634,9 +439,6 @@ theorem induction_on''' {M : MvPolynomial σ R → Prop} (p : MvPolynomial σ R)
Finsupp.induction p (C_0.rec <| h_C 0) h_add_weak
#align mv_polynomial.induction_on''' MvPolynomial.induction_on'''
-/- warning: mv_polynomial.induction_on'' -> MvPolynomial.induction_on'' is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.induction_on'' MvPolynomial.induction_on''ₓ'. -/
/-- Similar to `mv_polynomial.induction_on` but only a yet weaker form of `h_add` is required.-/
theorem induction_on'' {M : MvPolynomial σ R → Prop} (p : MvPolynomial σ R) (h_C : ∀ a, M (C a))
(h_add_weak :
@@ -647,12 +449,6 @@ theorem induction_on'' {M : MvPolynomial σ R → Prop} (p : MvPolynomial σ R)
h_add_weak a b f ha hb hf <| induction_on_monomial h_C h_X a b
#align mv_polynomial.induction_on'' MvPolynomial.induction_on''
-/- warning: mv_polynomial.induction_on -> MvPolynomial.induction_on is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {M : (MvPolynomial.{u2, u1} σ R _inst_1) -> Prop} (p : MvPolynomial.{u2, u1} σ R _inst_1), (forall (a : R), M (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a)) -> (forall (p : MvPolynomial.{u2, u1} σ R _inst_1) (q : MvPolynomial.{u2, u1} σ R _inst_1), (M p) -> (M q) -> (M (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHAdd.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasAdd.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) p q))) -> (forall (p : MvPolynomial.{u2, u1} σ R _inst_1) (n : σ), (M p) -> (M (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) p (MvPolynomial.X.{u1, u2} R σ _inst_1 n)))) -> (M p)
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {M : (MvPolynomial.{u1, u2} σ R _inst_1) -> Prop} (p : MvPolynomial.{u1, u2} σ R _inst_1), (forall (a : R), M (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.2397 : 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) a)) -> (forall (p : MvPolynomial.{u1, u2} σ R _inst_1) (q : MvPolynomial.{u1, u2} σ R _inst_1), (M p) -> (M q) -> (M (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHAdd.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (Distrib.toAdd.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))))) p q))) -> (forall (p : MvPolynomial.{u1, u2} σ R _inst_1) (n : σ), (M p) -> (M (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) p (MvPolynomial.X.{u2, u1} R σ _inst_1 n)))) -> (M p)
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.induction_on MvPolynomial.induction_onₓ'. -/
/-- Analog of `polynomial.induction_on`.-/
@[recursor 5]
theorem induction_on {M : MvPolynomial σ R → Prop} (p : MvPolynomial σ R) (h_C : ∀ a, M (C a))
@@ -660,17 +456,11 @@ theorem induction_on {M : MvPolynomial σ R → Prop} (p : MvPolynomial σ R) (h
induction_on'' p h_C (fun a b f ha hb hf hm => h_add (monomial a b) f hm hf) h_X
#align mv_polynomial.induction_on MvPolynomial.induction_on
-/- warning: mv_polynomial.ring_hom_ext -> MvPolynomial.ringHom_ext is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.ring_hom_ext MvPolynomial.ringHom_extₓ'. -/
theorem ringHom_ext {A : Type _} [Semiring A] {f g : MvPolynomial σ R →+* A}
(hC : ∀ r, f (C r) = g (C r)) (hX : ∀ i, f (X i) = g (X i)) : f = g := by ext;
exacts[hC _, hX _]
#align mv_polynomial.ring_hom_ext MvPolynomial.ringHom_ext
-/- warning: mv_polynomial.ring_hom_ext' -> MvPolynomial.ringHom_ext' is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.ring_hom_ext' MvPolynomial.ringHom_ext'ₓ'. -/
/-- See note [partially-applied ext lemmas]. -/
@[ext]
theorem ringHom_ext' {A : Type _} [Semiring A] {f g : MvPolynomial σ R →+* A}
@@ -678,25 +468,16 @@ theorem ringHom_ext' {A : Type _} [Semiring A] {f g : MvPolynomial σ R →+* A}
ringHom_ext (RingHom.ext_iff.1 hC) hX
#align mv_polynomial.ring_hom_ext' MvPolynomial.ringHom_ext'
-/- warning: mv_polynomial.hom_eq_hom -> MvPolynomial.hom_eq_hom is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.hom_eq_hom MvPolynomial.hom_eq_homₓ'. -/
theorem hom_eq_hom [Semiring S₂] (f g : MvPolynomial σ R →+* S₂) (hC : f.comp C = g.comp C)
(hX : ∀ n : σ, f (X n) = g (X n)) (p : MvPolynomial σ R) : f p = g p :=
RingHom.congr_fun (ringHom_ext' hC hX) p
#align mv_polynomial.hom_eq_hom MvPolynomial.hom_eq_hom
-/- warning: mv_polynomial.is_id -> MvPolynomial.is_id is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.is_id MvPolynomial.is_idₓ'. -/
theorem is_id (f : MvPolynomial σ R →+* MvPolynomial σ R) (hC : f.comp C = C)
(hX : ∀ n : σ, f (X n) = X n) (p : MvPolynomial σ R) : f p = p :=
hom_eq_hom f (RingHom.id _) hC hX p
#align mv_polynomial.is_id MvPolynomial.is_id
-/- warning: mv_polynomial.alg_hom_ext' -> MvPolynomial.algHom_ext' is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.alg_hom_ext' MvPolynomial.algHom_ext'ₓ'. -/
@[ext]
theorem algHom_ext' {A B : Type _} [CommSemiring A] [CommSemiring B] [Algebra R A] [Algebra R B]
{f g : MvPolynomial σ A →ₐ[R] B}
@@ -707,29 +488,17 @@ theorem algHom_ext' {A B : Type _} [CommSemiring A] [CommSemiring B] [Algebra R
AlgHom.coe_ringHom_injective (MvPolynomial.ringHom_ext' (congr_arg AlgHom.toRingHom h₁) h₂)
#align mv_polynomial.alg_hom_ext' MvPolynomial.algHom_ext'
-/- warning: mv_polynomial.alg_hom_ext -> MvPolynomial.algHom_ext is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.alg_hom_ext MvPolynomial.algHom_extₓ'. -/
@[ext]
theorem algHom_ext {A : Type _} [Semiring A] [Algebra R A] {f g : MvPolynomial σ R →ₐ[R] A}
(hf : ∀ i : σ, f (X i) = g (X i)) : f = g :=
AddMonoidAlgebra.algHom_ext' (mulHom_ext' fun x : σ => MonoidHom.ext_mnat (hf x))
#align mv_polynomial.alg_hom_ext MvPolynomial.algHom_ext
-/- warning: mv_polynomial.alg_hom_C -> MvPolynomial.algHom_C is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.alg_hom_C MvPolynomial.algHom_Cₓ'. -/
@[simp]
theorem algHom_C (f : MvPolynomial σ R →ₐ[R] MvPolynomial σ R) (r : R) : f (C r) = C r :=
f.commutes r
#align mv_polynomial.alg_hom_C MvPolynomial.algHom_C
-/- warning: mv_polynomial.adjoin_range_X -> MvPolynomial.adjoin_range_X is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R], Eq.{succ (max u2 u1)} (Subalgebra.{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))) (Algebra.adjoin.{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)) (Set.range.{max u2 u1, succ u2} (MvPolynomial.{u2, u1} σ R _inst_1) σ (MvPolynomial.X.{u1, u2} R σ _inst_1))) (Top.top.{max u2 u1} (Subalgebra.{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))) (CompleteLattice.toHasTop.{max u2 u1} (Subalgebra.{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))) (Algebra.Subalgebra.completeLattice.{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)))))
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} (Subalgebra.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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))) (Algebra.adjoin.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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)) (Set.range.{max u2 u1, succ u1} (MvPolynomial.{u1, u2} σ R _inst_1) σ (MvPolynomial.X.{u2, u1} R σ _inst_1))) (Top.top.{max u2 u1} (Subalgebra.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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))) (CompleteLattice.toTop.{max u2 u1} (Subalgebra.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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))) (Algebra.instCompleteLatticeSubalgebra.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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)))))
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.adjoin_range_X MvPolynomial.adjoin_range_Xₓ'. -/
@[simp]
theorem adjoin_range_X : Algebra.adjoin R (range (X : σ → MvPolynomial σ R)) = ⊤ :=
by
@@ -741,9 +510,6 @@ theorem adjoin_range_X : Algebra.adjoin R (range (X : σ → MvPolynomial σ R))
case h_X p i hp => exact S.mul_mem hp (Algebra.subset_adjoin <| mem_range_self _)
#align mv_polynomial.adjoin_range_X MvPolynomial.adjoin_range_X
-/- warning: mv_polynomial.linear_map_ext -> MvPolynomial.linearMap_ext is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.linear_map_ext MvPolynomial.linearMap_extₓ'. -/
@[ext]
theorem linearMap_ext {M : Type _} [AddCommMonoid M] [Module R M] {f g : MvPolynomial σ R →ₗ[R] M}
(h : ∀ s, f ∘ₗ monomial s = g ∘ₗ monomial s) : f = g :=
@@ -760,95 +526,41 @@ def support (p : MvPolynomial σ R) : Finset (σ →₀ ℕ) :=
#align mv_polynomial.support MvPolynomial.support
-/
-/- warning: mv_polynomial.finsupp_support_eq_support -> MvPolynomial.finsupp_support_eq_support is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (p : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{succ u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finsupp.support.{u2, u1} (Finsupp.{u2, 0} σ Nat Nat.hasZero) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) p) (MvPolynomial.support.{u1, u2} R σ _inst_1 p)
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finsupp.support.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) p) (MvPolynomial.support.{u2, u1} R σ _inst_1 p)
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.finsupp_support_eq_support MvPolynomial.finsupp_support_eq_supportₓ'. -/
theorem finsupp_support_eq_support (p : MvPolynomial σ R) : Finsupp.support p = p.support :=
rfl
#align mv_polynomial.finsupp_support_eq_support MvPolynomial.finsupp_support_eq_support
-/- warning: mv_polynomial.support_monomial -> MvPolynomial.support_monomial is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} {a : R} {s : Finsupp.{u2, 0} σ Nat Nat.hasZero} [_inst_1 : CommSemiring.{u1} R] [_inst_3 : Decidable (Eq.{succ u1} R a (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))], Eq.{succ u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (MvPolynomial.support.{u1, u2} R σ _inst_1 (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) a)) (ite.{succ u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Eq.{succ u1} R a (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) _inst_3 (EmptyCollection.emptyCollection.{u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasEmptyc.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero))) (Singleton.singleton.{u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasSingleton.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) s))
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u2} R] [_inst_3 : Decidable (Eq.{succ u2} R a (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)))))], 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 (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a)) (ite.{succ u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Eq.{succ u2} R a (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) _inst_3 (EmptyCollection.emptyCollection.{u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instEmptyCollectionFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)))) (Singleton.singleton.{u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instSingletonFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) s))
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.support_monomial MvPolynomial.support_monomialₓ'. -/
theorem support_monomial [Decidable (a = 0)] : (monomial s a).support = if a = 0 then ∅ else {s} :=
by convert rfl
#align mv_polynomial.support_monomial MvPolynomial.support_monomial
-/- warning: mv_polynomial.support_monomial_subset -> MvPolynomial.support_monomial_subset is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} {a : R} {s : Finsupp.{u2, 0} σ Nat Nat.hasZero} [_inst_1 : CommSemiring.{u1} R], HasSubset.Subset.{u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasSubset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (MvPolynomial.support.{u1, u2} R σ _inst_1 (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) a)) (Singleton.singleton.{u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasSingleton.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) s)
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u2} R], HasSubset.Subset.{u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instHasSubsetFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.support.{u2, u1} R σ _inst_1 (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a)) (Singleton.singleton.{u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instSingletonFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) s)
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.support_monomial_subset MvPolynomial.support_monomial_subsetₓ'. -/
theorem support_monomial_subset : (monomial s a).support ⊆ {s} :=
support_single_subset
#align mv_polynomial.support_monomial_subset MvPolynomial.support_monomial_subset
-/- warning: mv_polynomial.support_add -> MvPolynomial.support_add is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {p : MvPolynomial.{u2, u1} σ R _inst_1} {q : MvPolynomial.{u2, u1} σ R _inst_1} [_inst_3 : DecidableEq.{succ u2} σ], HasSubset.Subset.{u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasSubset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (MvPolynomial.support.{u1, u2} R σ _inst_1 (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHAdd.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasAdd.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) p q)) (Union.union.{u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasUnion.{u2} (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 : σ) => _inst_3 a b) (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) a b)) (MvPolynomial.support.{u1, u2} R σ _inst_1 p) (MvPolynomial.support.{u1, u2} R σ _inst_1 q))
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {p : MvPolynomial.{u1, u2} σ R _inst_1} {q : MvPolynomial.{u1, u2} σ R _inst_1} [_inst_3 : DecidableEq.{succ u1} σ], HasSubset.Subset.{u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instHasSubsetFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.support.{u2, u1} R σ _inst_1 (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHAdd.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (Distrib.toAdd.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))))) p q)) (Union.union.{u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instUnionFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (fun (a : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (b : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Finsupp.decidableEq.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (fun (a : σ) (b : σ) => _inst_3 a b) (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) a b)) (MvPolynomial.support.{u2, u1} R σ _inst_1 p) (MvPolynomial.support.{u2, u1} R σ _inst_1 q))
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.support_add MvPolynomial.support_addₓ'. -/
theorem support_add [DecidableEq σ] : (p + q).support ⊆ p.support ∪ q.support :=
Finsupp.support_add
#align mv_polynomial.support_add MvPolynomial.support_add
-/- warning: mv_polynomial.support_X -> MvPolynomial.support_X is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} {n : σ} [_inst_1 : CommSemiring.{u1} R] [_inst_3 : Nontrivial.{u1} R], Eq.{succ u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (MvPolynomial.support.{u1, u2} R σ _inst_1 (MvPolynomial.X.{u1, u2} R σ _inst_1 n)) (Singleton.singleton.{u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasSingleton.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finsupp.single.{u2, 0} σ Nat Nat.hasZero n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} {n : σ} [_inst_1 : CommSemiring.{u2} R] [_inst_3 : Nontrivial.{u2} R], Eq.{succ u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.support.{u2, u1} R σ _inst_1 (MvPolynomial.X.{u2, u1} R σ _inst_1 n)) (Singleton.singleton.{u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instSingletonFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finsupp.single.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.support_X MvPolynomial.support_Xₓ'. -/
theorem support_X [Nontrivial R] : (X n : MvPolynomial σ R).support = {single n 1} := by
classical rw [X, support_monomial, if_neg] <;> exact one_ne_zero
#align mv_polynomial.support_X MvPolynomial.support_X
-/- warning: mv_polynomial.support_X_pow -> MvPolynomial.support_X_pow is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_3 : Nontrivial.{u1} R] (s : σ) (n : Nat), Eq.{succ u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (MvPolynomial.support.{u1, u2} R σ _inst_1 (HPow.hPow.{max u2 u1, 0, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) Nat (MvPolynomial.{u2, u1} σ R _inst_1) (instHPow.{max u2 u1, 0} (MvPolynomial.{u2, u1} σ R _inst_1) Nat (Monoid.Pow.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MonoidWithZero.toMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (MvPolynomial.X.{u1, u2} R σ _inst_1 s) n)) (Singleton.singleton.{u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasSingleton.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finsupp.single.{u2, 0} σ Nat Nat.hasZero s n))
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_3 : Nontrivial.{u2} R] (s : σ) (n : Nat), Eq.{succ u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.support.{u2, u1} R σ _inst_1 (HPow.hPow.{max u1 u2, 0, max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (MvPolynomial.{u1, u2} σ R _inst_1) (instHPow.{max u1 u2, 0} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (Monoid.Pow.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (MvPolynomial.X.{u2, u1} R σ _inst_1 s) n)) (Singleton.singleton.{u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instSingletonFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finsupp.single.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) s n))
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.support_X_pow MvPolynomial.support_X_powₓ'. -/
theorem support_X_pow [Nontrivial R] (s : σ) (n : ℕ) :
(X s ^ n : MvPolynomial σ R).support = {Finsupp.single s n} := by
classical rw [X_pow_eq_monomial, support_monomial, if_neg (one_ne_zero' R)]
#align mv_polynomial.support_X_pow MvPolynomial.support_X_pow
-/- warning: mv_polynomial.support_zero -> MvPolynomial.support_zero is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R], Eq.{succ u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (MvPolynomial.support.{u1, u2} R σ _inst_1 (OfNat.ofNat.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) 0 (OfNat.mk.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) 0 (Zero.zero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MulZeroClass.toHasZero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toMulZeroClass.{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)))))))))) (EmptyCollection.emptyCollection.{u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasEmptyc.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)))
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R], Eq.{succ u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.support.{u2, u1} R σ _inst_1 (OfNat.ofNat.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) 0 (Zero.toOfNat0.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (CommMonoidWithZero.toZero.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toCommMonoidWithZero.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))))) (EmptyCollection.emptyCollection.{u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instEmptyCollectionFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))))
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.support_zero MvPolynomial.support_zeroₓ'. -/
@[simp]
theorem support_zero : (0 : MvPolynomial σ R).support = ∅ :=
rfl
#align mv_polynomial.support_zero MvPolynomial.support_zero
-/- warning: mv_polynomial.support_smul -> MvPolynomial.support_smul is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {S₁ : Type.{u3}} [_inst_3 : SMulZeroClass.{u3, u1} S₁ R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))] {a : S₁} {f : MvPolynomial.{u2, u1} σ R _inst_1}, HasSubset.Subset.{u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasSubset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (MvPolynomial.support.{u1, u2} R σ _inst_1 (SMul.smul.{u3, max u2 u1} S₁ (MvPolynomial.{u2, u1} σ R _inst_1) (SMulZeroClass.toHasSmul.{u3, max u2 u1} S₁ (MvPolynomial.{u2, u1} σ R _inst_1) (MulZeroClass.toHasZero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toMulZeroClass.{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)))))) (MvPolynomial.smulZeroClass.{u3, u1, u2} S₁ R σ _inst_1 _inst_3)) a f)) (MvPolynomial.support.{u1, u2} R σ _inst_1 f)
-but is expected to have type
- forall {R : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] {S₁ : Type.{u2}} [_inst_3 : SMulZeroClass.{u2, u3} S₁ R (CommMonoidWithZero.toZero.{u3} R (CommSemiring.toCommMonoidWithZero.{u3} R _inst_1))] {a : S₁} {f : MvPolynomial.{u1, u3} σ R _inst_1}, HasSubset.Subset.{u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instHasSubsetFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.support.{u3, u1} R σ _inst_1 (HSMul.hSMul.{u2, max u3 u1, max u3 u1} S₁ (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u1, u3} σ R _inst_1) (instHSMul.{u2, max u3 u1} S₁ (MvPolynomial.{u1, u3} σ R _inst_1) (SMulZeroClass.toSMul.{u2, max u3 u1} S₁ (MvPolynomial.{u1, u3} σ R _inst_1) (CommMonoidWithZero.toZero.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toCommMonoidWithZero.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (MvPolynomial.smulZeroClass.{u2, u3, u1} S₁ R σ _inst_1 _inst_3))) a f)) (MvPolynomial.support.{u3, u1} R σ _inst_1 f)
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.support_smul MvPolynomial.support_smulₓ'. -/
theorem support_smul {S₁ : Type _} [SMulZeroClass S₁ R] {a : S₁} {f : MvPolynomial σ R} :
(a • f).support ⊆ f.support :=
Finsupp.support_smul
#align mv_polynomial.support_smul MvPolynomial.support_smul
-/- warning: mv_polynomial.support_sum -> MvPolynomial.support_sum is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {α : Type.{u3}} [_inst_3 : DecidableEq.{succ u2} σ] {s : Finset.{u3} α} {f : α -> (MvPolynomial.{u2, u1} σ R _inst_1)}, HasSubset.Subset.{u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasSubset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (MvPolynomial.support.{u1, u2} R σ _inst_1 (Finset.sum.{max u2 u1, u3} (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))))) s (fun (x : α) => f x))) (Finset.biUnion.{u3, u2} α (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 : σ) => _inst_3 a b) (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) a b) s (fun (x : α) => MvPolynomial.support.{u1, u2} R σ _inst_1 (f x)))
-but is expected to have type
- forall {R : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] {α : Type.{u2}} [_inst_3 : DecidableEq.{succ u1} σ] {s : Finset.{u2} α} {f : α -> (MvPolynomial.{u1, u3} σ R _inst_1)}, HasSubset.Subset.{u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instHasSubsetFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.support.{u3, u1} R σ _inst_1 (Finset.sum.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) α (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) s (fun (x : α) => f x))) (Finset.biUnion.{u2, u1} α (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (fun (a : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (b : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Finsupp.decidableEq.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (fun (a : σ) (b : σ) => _inst_3 a b) (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) a b) s (fun (x : α) => MvPolynomial.support.{u3, u1} R σ _inst_1 (f x)))
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.support_sum MvPolynomial.support_sumₓ'. -/
theorem support_sum {α : Type _} [DecidableEq σ] {s : Finset α} {f : α → MvPolynomial σ R} :
(∑ x in s, f x).support ⊆ s.biUnion fun x => (f x).support :=
Finsupp.support_finset_sum
@@ -865,109 +577,49 @@ def coeff (m : σ →₀ ℕ) (p : MvPolynomial σ R) : R :=
#align mv_polynomial.coeff MvPolynomial.coeff
-/
-/- warning: mv_polynomial.mem_support_iff -> MvPolynomial.mem_support_iff is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {p : MvPolynomial.{u2, u1} σ R _inst_1} {m : Finsupp.{u2, 0} σ Nat Nat.hasZero}, Iff (Membership.Mem.{u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasMem.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) m (MvPolynomial.support.{u1, u2} R σ _inst_1 p)) (Ne.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m p) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {p : MvPolynomial.{u1, u2} σ R _inst_1} {m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)}, Iff (Membership.mem.{u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instMembershipFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) m (MvPolynomial.support.{u2, u1} R σ _inst_1 p)) (Ne.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m p) (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.mem_support_iff MvPolynomial.mem_support_iffₓ'. -/
@[simp]
theorem mem_support_iff {p : MvPolynomial σ R} {m : σ →₀ ℕ} : m ∈ p.support ↔ p.coeff m ≠ 0 := by
simp [support, coeff]
#align mv_polynomial.mem_support_iff MvPolynomial.mem_support_iff
-/- warning: mv_polynomial.not_mem_support_iff -> MvPolynomial.not_mem_support_iff is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {p : MvPolynomial.{u2, u1} σ R _inst_1} {m : Finsupp.{u2, 0} σ Nat Nat.hasZero}, Iff (Not (Membership.Mem.{u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasMem.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) m (MvPolynomial.support.{u1, u2} R σ _inst_1 p))) (Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m p) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {p : MvPolynomial.{u1, u2} σ R _inst_1} {m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)}, Iff (Not (Membership.mem.{u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instMembershipFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) m (MvPolynomial.support.{u2, u1} R σ _inst_1 p))) (Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m p) (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.not_mem_support_iff MvPolynomial.not_mem_support_iffₓ'. -/
theorem not_mem_support_iff {p : MvPolynomial σ R} {m : σ →₀ ℕ} : m ∉ p.support ↔ p.coeff m = 0 :=
by simp
#align mv_polynomial.not_mem_support_iff MvPolynomial.not_mem_support_iff
-/- warning: mv_polynomial.sum_def -> MvPolynomial.sum_def is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {A : Type.{u3}} [_inst_3 : AddCommMonoid.{u3} A] {p : MvPolynomial.{u2, u1} σ R _inst_1} {b : (Finsupp.{u2, 0} σ Nat Nat.hasZero) -> R -> A}, Eq.{succ u3} A (Finsupp.sum.{u2, u1, u3} (Finsupp.{u2, 0} σ Nat Nat.hasZero) R A (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) _inst_3 p b) (Finset.sum.{u3, u2} A (Finsupp.{u2, 0} σ Nat Nat.hasZero) _inst_3 (MvPolynomial.support.{u1, u2} R σ _inst_1 p) (fun (m : Finsupp.{u2, 0} σ Nat Nat.hasZero) => b m (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m p)))
-but is expected to have type
- forall {R : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] {A : Type.{u2}} [_inst_3 : AddCommMonoid.{u2} A] {p : MvPolynomial.{u1, u3} σ R _inst_1} {b : (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) -> R -> A}, Eq.{succ u2} A (Finsupp.sum.{u1, u3, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R A (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) _inst_3 p b) (Finset.sum.{u2, u1} A (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) _inst_3 (MvPolynomial.support.{u3, u1} R σ _inst_1 p) (fun (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => b m (MvPolynomial.coeff.{u3, u1} R σ _inst_1 m p)))
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.sum_def MvPolynomial.sum_defₓ'. -/
theorem sum_def {A} [AddCommMonoid A] {p : MvPolynomial σ R} {b : (σ →₀ ℕ) → R → A} :
p.Sum b = ∑ m in p.support, b m (p.coeff m) := by simp [support, Finsupp.sum, coeff]
#align mv_polynomial.sum_def MvPolynomial.sum_def
-/- warning: mv_polynomial.support_mul -> MvPolynomial.support_mul is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_3 : DecidableEq.{succ u2} σ] (p : MvPolynomial.{u2, u1} σ R _inst_1) (q : MvPolynomial.{u2, u1} σ R _inst_1), HasSubset.Subset.{u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasSubset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (MvPolynomial.support.{u1, u2} R σ _inst_1 (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) p q)) (Finset.biUnion.{u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (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 : σ) => _inst_3 a b) (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) a b) (MvPolynomial.support.{u1, u2} R σ _inst_1 p) (fun (a : Finsupp.{u2, 0} σ Nat Nat.hasZero) => Finset.biUnion.{u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (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 : σ) => _inst_3 a b) (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) a b) (MvPolynomial.support.{u1, u2} R σ _inst_1 q) (fun (b : Finsupp.{u2, 0} σ Nat Nat.hasZero) => Singleton.singleton.{u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasSingleton.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (HAdd.hAdd.{u2, u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (instHAdd.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.add.{u2, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) a b))))
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_3 : DecidableEq.{succ u1} σ] (p : MvPolynomial.{u1, u2} σ R _inst_1) (q : MvPolynomial.{u1, u2} σ R _inst_1), HasSubset.Subset.{u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instHasSubsetFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.support.{u2, u1} R σ _inst_1 (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) p q)) (Finset.biUnion.{u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (fun (a : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (b : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Finsupp.decidableEq.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (fun (a : σ) (b : σ) => _inst_3 a b) (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) a b) (MvPolynomial.support.{u2, u1} R σ _inst_1 p) (fun (a : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Finset.biUnion.{u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (fun (a : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (b : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Finsupp.decidableEq.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (fun (a : σ) (b : σ) => _inst_3 a b) (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) a b) (MvPolynomial.support.{u2, u1} R σ _inst_1 q) (fun (b : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Singleton.singleton.{u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instSingletonFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (HAdd.hAdd.{u1, u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHAdd.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.add.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) a b))))
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.support_mul MvPolynomial.support_mulₓ'. -/
theorem support_mul [DecidableEq σ] (p q : MvPolynomial σ R) :
(p * q).support ⊆ p.support.biUnion fun a => q.support.biUnion fun b => {a + b} := by
convert AddMonoidAlgebra.support_mul p q <;> ext <;> convert Iff.rfl
#align mv_polynomial.support_mul MvPolynomial.support_mul
-/- warning: mv_polynomial.ext -> MvPolynomial.ext is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (p : MvPolynomial.{u2, u1} σ R _inst_1) (q : MvPolynomial.{u2, u1} σ R _inst_1), (forall (m : Finsupp.{u2, 0} σ Nat Nat.hasZero), Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m p) (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m q)) -> (Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) p q)
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (p : MvPolynomial.{u1, u2} σ R _inst_1) (q : MvPolynomial.{u1, u2} σ R _inst_1), (forall (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m p) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m q)) -> (Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u1, u2} σ R _inst_1) p q)
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.ext MvPolynomial.extₓ'. -/
@[ext]
theorem ext (p q : MvPolynomial σ R) : (∀ m, coeff m p = coeff m q) → p = q :=
ext
#align mv_polynomial.ext MvPolynomial.ext
-/- warning: mv_polynomial.ext_iff -> MvPolynomial.ext_iff is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (p : MvPolynomial.{u2, u1} σ R _inst_1) (q : MvPolynomial.{u2, u1} σ R _inst_1), Iff (Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) p q) (forall (m : Finsupp.{u2, 0} σ Nat Nat.hasZero), Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m p) (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m q))
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (p : MvPolynomial.{u1, u2} σ R _inst_1) (q : MvPolynomial.{u1, u2} σ R _inst_1), Iff (Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u1, u2} σ R _inst_1) p q) (forall (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m p) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m q))
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.ext_iff MvPolynomial.ext_iffₓ'. -/
theorem ext_iff (p q : MvPolynomial σ R) : p = q ↔ ∀ m, coeff m p = coeff m q :=
⟨fun h m => by rw [h], ext p q⟩
#align mv_polynomial.ext_iff MvPolynomial.ext_iff
-/- warning: mv_polynomial.coeff_add -> MvPolynomial.coeff_add is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (m : Finsupp.{u2, 0} σ Nat Nat.hasZero) (p : MvPolynomial.{u2, u1} σ R _inst_1) (q : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHAdd.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasAdd.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) p q)) (HAdd.hAdd.{u1, u1, u1} R R R (instHAdd.{u1} R (Distrib.toHasAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m p) (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m q))
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (p : MvPolynomial.{u1, u2} σ R _inst_1) (q : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHAdd.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (Distrib.toAdd.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))))) p q)) (HAdd.hAdd.{u2, u2, u2} R R R (instHAdd.{u2} R (Distrib.toAdd.{u2} R (NonUnitalNonAssocSemiring.toDistrib.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m p) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m q))
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.coeff_add MvPolynomial.coeff_addₓ'. -/
@[simp]
theorem coeff_add (m : σ →₀ ℕ) (p q : MvPolynomial σ R) : coeff m (p + q) = coeff m p + coeff m q :=
add_apply p q m
#align mv_polynomial.coeff_add MvPolynomial.coeff_add
-/- warning: mv_polynomial.coeff_smul -> MvPolynomial.coeff_smul is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {S₁ : Type.{u3}} [_inst_3 : SMulZeroClass.{u3, u1} S₁ R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))] (m : Finsupp.{u2, 0} σ Nat Nat.hasZero) (c : S₁) (p : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m (SMul.smul.{u3, max u2 u1} S₁ (MvPolynomial.{u2, u1} σ R _inst_1) (SMulZeroClass.toHasSmul.{u3, max u2 u1} S₁ (MvPolynomial.{u2, u1} σ R _inst_1) (MulZeroClass.toHasZero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toMulZeroClass.{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)))))) (MvPolynomial.smulZeroClass.{u3, u1, u2} S₁ R σ _inst_1 _inst_3)) c p)) (SMul.smul.{u3, u1} S₁ R (SMulZeroClass.toHasSmul.{u3, u1} S₁ R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) _inst_3) c (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m p))
-but is expected to have type
- forall {R : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] {S₁ : Type.{u2}} [_inst_3 : SMulZeroClass.{u2, u3} S₁ R (CommMonoidWithZero.toZero.{u3} R (CommSemiring.toCommMonoidWithZero.{u3} R _inst_1))] (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (c : S₁) (p : MvPolynomial.{u1, u3} σ R _inst_1), Eq.{succ u3} R (MvPolynomial.coeff.{u3, u1} R σ _inst_1 m (HSMul.hSMul.{u2, max u3 u1, max u3 u1} S₁ (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u1, u3} σ R _inst_1) (instHSMul.{u2, max u3 u1} S₁ (MvPolynomial.{u1, u3} σ R _inst_1) (SMulZeroClass.toSMul.{u2, max u3 u1} S₁ (MvPolynomial.{u1, u3} σ R _inst_1) (CommMonoidWithZero.toZero.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toCommMonoidWithZero.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (MvPolynomial.smulZeroClass.{u2, u3, u1} S₁ R σ _inst_1 _inst_3))) c p)) (HSMul.hSMul.{u2, u3, u3} S₁ R R (instHSMul.{u2, u3} S₁ R (SMulZeroClass.toSMul.{u2, u3} S₁ R (CommMonoidWithZero.toZero.{u3} R (CommSemiring.toCommMonoidWithZero.{u3} R _inst_1)) _inst_3)) c (MvPolynomial.coeff.{u3, u1} R σ _inst_1 m p))
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.coeff_smul MvPolynomial.coeff_smulₓ'. -/
@[simp]
theorem coeff_smul {S₁ : Type _} [SMulZeroClass S₁ R] (m : σ →₀ ℕ) (c : S₁) (p : MvPolynomial σ R) :
coeff m (c • p) = c • coeff m p :=
smul_apply c p m
#align mv_polynomial.coeff_smul MvPolynomial.coeff_smul
-/- warning: mv_polynomial.coeff_zero -> MvPolynomial.coeff_zero is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (m : Finsupp.{u2, 0} σ Nat Nat.hasZero), Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m (OfNat.ofNat.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) 0 (OfNat.mk.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) 0 (Zero.zero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MulZeroClass.toHasZero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toMulZeroClass.{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)))))))))) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m (OfNat.ofNat.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) 0 (Zero.toOfNat0.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (CommMonoidWithZero.toZero.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toCommMonoidWithZero.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))))) (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_zero MvPolynomial.coeff_zeroₓ'. -/
@[simp]
theorem coeff_zero (m : σ →₀ ℕ) : coeff m (0 : MvPolynomial σ R) = 0 :=
rfl
#align mv_polynomial.coeff_zero MvPolynomial.coeff_zero
-/- warning: mv_polynomial.coeff_zero_X -> MvPolynomial.coeff_zero_X is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (i : σ), Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 (OfNat.ofNat.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (OfNat.mk.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (Zero.zero.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.zero.{u2, 0} σ Nat Nat.hasZero)))) (MvPolynomial.X.{u1, u2} R σ _inst_1 i)) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (i : σ), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 (OfNat.ofNat.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) 0 (Zero.toOfNat0.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.zero.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)))) (MvPolynomial.X.{u2, u1} R σ _inst_1 i)) (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_zero_X MvPolynomial.coeff_zero_Xₓ'. -/
@[simp]
theorem coeff_zero_X (i : σ) : coeff 0 (X i : MvPolynomial σ R) = 0 :=
single_eq_of_ne fun h => by cases single_eq_zero.1 h
@@ -984,89 +636,41 @@ def coeffAddMonoidHom (m : σ →₀ ℕ) : MvPolynomial σ R →+ R
#align mv_polynomial.coeff_add_monoid_hom MvPolynomial.coeffAddMonoidHom
-/
-/- warning: mv_polynomial.coeff_sum -> MvPolynomial.coeff_sum is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {X : Type.{u3}} (s : Finset.{u3} X) (f : X -> (MvPolynomial.{u2, u1} σ R _inst_1)) (m : Finsupp.{u2, 0} σ Nat Nat.hasZero), Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m (Finset.sum.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) X (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))))) s (fun (x : X) => f x))) (Finset.sum.{u1, u3} R X (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) s (fun (x : X) => MvPolynomial.coeff.{u1, u2} R σ _inst_1 m (f x)))
-but is expected to have type
- forall {R : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] {X : Type.{u2}} (s : Finset.{u2} X) (f : X -> (MvPolynomial.{u1, u3} σ R _inst_1)) (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)), Eq.{succ u3} R (MvPolynomial.coeff.{u3, u1} R σ _inst_1 m (Finset.sum.{max u1 u3, u2} (MvPolynomial.{u1, u3} σ R _inst_1) X (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) s (fun (x : X) => f x))) (Finset.sum.{u3, u2} R X (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) s (fun (x : X) => MvPolynomial.coeff.{u3, u1} R σ _inst_1 m (f x)))
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.coeff_sum MvPolynomial.coeff_sumₓ'. -/
theorem coeff_sum {X : Type _} (s : Finset X) (f : X → MvPolynomial σ R) (m : σ →₀ ℕ) :
coeff m (∑ x in s, f x) = ∑ x in s, coeff m (f x) :=
(@coeffAddMonoidHom R σ _ _).map_sum _ s
#align mv_polynomial.coeff_sum MvPolynomial.coeff_sum
-/- warning: mv_polynomial.monic_monomial_eq -> MvPolynomial.monic_monomial_eq is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (m : Finsupp.{u2, 0} σ Nat Nat.hasZero), Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 m) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) (Finsupp.prod.{u2, 0, max u2 u1} σ Nat (MvPolynomial.{u2, u1} σ R _inst_1) Nat.hasZero (CommSemiring.toCommMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) m (fun (n : σ) (e : Nat) => HPow.hPow.{max u2 u1, 0, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) Nat (MvPolynomial.{u2, u1} σ R _inst_1) (instHPow.{max u2 u1, 0} (MvPolynomial.{u2, u1} σ R _inst_1) Nat (Monoid.Pow.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MonoidWithZero.toMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (MvPolynomial.X.{u1, u2} R σ _inst_1 n) e))
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 m) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (Finsupp.prod.{u1, 0, max u2 u1} σ Nat (MvPolynomial.{u1, u2} σ R _inst_1) (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (CommSemiring.toCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) m (fun (n : σ) (e : Nat) => HPow.hPow.{max u1 u2, 0, max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (MvPolynomial.{u1, u2} σ R _inst_1) (instHPow.{max u1 u2, 0} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (Monoid.Pow.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (MvPolynomial.X.{u2, u1} R σ _inst_1 n) e))
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.monic_monomial_eq MvPolynomial.monic_monomial_eqₓ'. -/
theorem monic_monomial_eq (m) :
monomial m (1 : R) = (m.Prod fun n e => X n ^ e : MvPolynomial σ R) := by simp [monomial_eq]
#align mv_polynomial.monic_monomial_eq MvPolynomial.monic_monomial_eq
-/- warning: mv_polynomial.coeff_monomial -> MvPolynomial.coeff_monomial is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_3 : DecidableEq.{succ u2} σ] (m : Finsupp.{u2, 0} σ Nat Nat.hasZero) (n : Finsupp.{u2, 0} σ Nat Nat.hasZero) (a : R), Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 n) a)) (ite.{succ u1} R (Eq.{succ u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) n m) (Finsupp.decidableEq.{u2, 0} σ Nat Nat.hasZero (fun (a : σ) (b : σ) => _inst_3 a b) (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) n m) a (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_3 : DecidableEq.{succ u1} σ] (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (n : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (a : R), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 n) a)) (ite.{succ u2} R (Eq.{succ u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) n m) (Finsupp.decidableEq.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (fun (a : σ) (b : σ) => _inst_3 a b) (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) n m) a (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_monomial MvPolynomial.coeff_monomialₓ'. -/
@[simp]
theorem coeff_monomial [DecidableEq σ] (m n) (a) :
coeff m (monomial n a : MvPolynomial σ R) = if n = m then a else 0 :=
single_apply
#align mv_polynomial.coeff_monomial MvPolynomial.coeff_monomial
-/- warning: mv_polynomial.coeff_C -> MvPolynomial.coeff_C is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_3 : DecidableEq.{succ u2} σ] (m : Finsupp.{u2, 0} σ Nat Nat.hasZero) (a : R), Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a)) (ite.{succ u1} R (Eq.{succ u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (OfNat.ofNat.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (OfNat.mk.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (Zero.zero.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.zero.{u2, 0} σ Nat Nat.hasZero)))) m) (Finsupp.decidableEq.{u2, 0} σ Nat Nat.hasZero (fun (a : σ) (b : σ) => _inst_3 a b) (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) (OfNat.ofNat.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (OfNat.mk.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (Zero.zero.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.zero.{u2, 0} σ Nat Nat.hasZero)))) m) a (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_3 : DecidableEq.{succ u1} σ] (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (a : R), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m (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.2397 : 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) a)) (ite.{succ u2} R (Eq.{succ u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (OfNat.ofNat.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) 0 (Zero.toOfNat0.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.zero.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)))) m) (Finsupp.decidableEq.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (fun (a : σ) (b : σ) => _inst_3 a b) (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) (OfNat.ofNat.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) 0 (Zero.toOfNat0.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.zero.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)))) m) a (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_C MvPolynomial.coeff_Cₓ'. -/
@[simp]
theorem coeff_C [DecidableEq σ] (m) (a) :
coeff m (C a : MvPolynomial σ R) = if 0 = m then a else 0 :=
single_apply
#align mv_polynomial.coeff_C MvPolynomial.coeff_C
-/- warning: mv_polynomial.coeff_one -> MvPolynomial.coeff_one is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_3 : DecidableEq.{succ u2} σ] (m : Finsupp.{u2, 0} σ Nat Nat.hasZero), Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m (OfNat.ofNat.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) 1 (OfNat.mk.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) 1 (One.one.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (AddMonoidWithOne.toOne.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (AddCommMonoidWithOne.toAddMonoidWithOne.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toAddCommMonoidWithOne.{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)))))))))) (ite.{succ u1} R (Eq.{succ u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (OfNat.ofNat.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (OfNat.mk.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (Zero.zero.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.zero.{u2, 0} σ Nat Nat.hasZero)))) m) (Finsupp.decidableEq.{u2, 0} σ Nat Nat.hasZero (fun (a : σ) (b : σ) => _inst_3 a b) (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) (OfNat.ofNat.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (OfNat.mk.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (Zero.zero.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.zero.{u2, 0} σ Nat Nat.hasZero)))) m) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_3 : DecidableEq.{succ u1} σ] (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m (OfNat.ofNat.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) 1 (One.toOfNat1.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toOne.{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)))))) (ite.{succ u2} R (Eq.{succ u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (OfNat.ofNat.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) 0 (Zero.toOfNat0.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.zero.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)))) m) (Finsupp.decidableEq.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (fun (a : σ) (b : σ) => _inst_3 a b) (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) (OfNat.ofNat.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) 0 (Zero.toOfNat0.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.zero.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)))) m) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (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_one MvPolynomial.coeff_oneₓ'. -/
theorem coeff_one [DecidableEq σ] (m) : coeff m (1 : MvPolynomial σ R) = if 0 = m then 1 else 0 :=
coeff_C m 1
#align mv_polynomial.coeff_one MvPolynomial.coeff_one
-/- warning: mv_polynomial.coeff_zero_C -> MvPolynomial.coeff_zero_C is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (a : R), Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 (OfNat.ofNat.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (OfNat.mk.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (Zero.zero.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.zero.{u2, 0} σ Nat Nat.hasZero)))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a)) a
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (a : R), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 (OfNat.ofNat.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) 0 (Zero.toOfNat0.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.zero.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)))) (FunLike.coe.{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.2397 : 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) a)) a
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.coeff_zero_C MvPolynomial.coeff_zero_Cₓ'. -/
@[simp]
theorem coeff_zero_C (a) : coeff 0 (C a : MvPolynomial σ R) = a :=
single_eq_same
#align mv_polynomial.coeff_zero_C MvPolynomial.coeff_zero_C
-/- warning: mv_polynomial.coeff_zero_one -> MvPolynomial.coeff_zero_one is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R], Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 (OfNat.ofNat.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (OfNat.mk.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (Zero.zero.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.zero.{u2, 0} σ Nat Nat.hasZero)))) (OfNat.ofNat.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) 1 (OfNat.mk.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) 1 (One.one.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (AddMonoidWithOne.toOne.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (AddCommMonoidWithOne.toAddMonoidWithOne.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toAddCommMonoidWithOne.{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)))))))))) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R], Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 (OfNat.ofNat.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) 0 (Zero.toOfNat0.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.zero.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)))) (OfNat.ofNat.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) 1 (One.toOfNat1.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toOne.{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)))))) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.coeff_zero_one MvPolynomial.coeff_zero_oneₓ'. -/
@[simp]
theorem coeff_zero_one : coeff 0 (1 : MvPolynomial σ R) = 1 :=
coeff_zero_C 1
#align mv_polynomial.coeff_zero_one MvPolynomial.coeff_zero_one
-/- warning: mv_polynomial.coeff_X_pow -> MvPolynomial.coeff_X_pow is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_3 : DecidableEq.{succ u2} σ] (i : σ) (m : Finsupp.{u2, 0} σ Nat Nat.hasZero) (k : Nat), Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m (HPow.hPow.{max u2 u1, 0, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) Nat (MvPolynomial.{u2, u1} σ R _inst_1) (instHPow.{max u2 u1, 0} (MvPolynomial.{u2, u1} σ R _inst_1) Nat (Monoid.Pow.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MonoidWithZero.toMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (MvPolynomial.X.{u1, u2} R σ _inst_1 i) k)) (ite.{succ u1} R (Eq.{succ u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.single.{u2, 0} σ Nat Nat.hasZero i k) m) (Finsupp.decidableEq.{u2, 0} σ Nat Nat.hasZero (fun (a : σ) (b : σ) => _inst_3 a b) (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) (Finsupp.single.{u2, 0} σ Nat Nat.hasZero i k) m) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_3 : DecidableEq.{succ u1} σ] (i : σ) (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (k : Nat), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m (HPow.hPow.{max u1 u2, 0, max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (MvPolynomial.{u1, u2} σ R _inst_1) (instHPow.{max u1 u2, 0} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (Monoid.Pow.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (MvPolynomial.X.{u2, u1} R σ _inst_1 i) k)) (ite.{succ u2} R (Eq.{succ u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.single.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) i k) m) (Finsupp.decidableEq.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (fun (a : σ) (b : σ) => _inst_3 a b) (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) (Finsupp.single.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) i k) m) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (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_X_pow MvPolynomial.coeff_X_powₓ'. -/
theorem coeff_X_pow [DecidableEq σ] (i : σ) (m) (k : ℕ) :
coeff m (X i ^ k : MvPolynomial σ R) = if single i k = m then 1 else 0 :=
by
@@ -1076,34 +680,16 @@ theorem coeff_X_pow [DecidableEq σ] (i : σ) (m) (k : ℕ) :
exact pow_zero _
#align mv_polynomial.coeff_X_pow MvPolynomial.coeff_X_pow
-/- warning: mv_polynomial.coeff_X' -> MvPolynomial.coeff_X' is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_3 : DecidableEq.{succ u2} σ] (i : σ) (m : Finsupp.{u2, 0} σ Nat Nat.hasZero), Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m (MvPolynomial.X.{u1, u2} R σ _inst_1 i)) (ite.{succ u1} R (Eq.{succ u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.single.{u2, 0} σ Nat Nat.hasZero i (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) m) (Finsupp.decidableEq.{u2, 0} σ Nat Nat.hasZero (fun (a : σ) (b : σ) => _inst_3 a b) (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) (Finsupp.single.{u2, 0} σ Nat Nat.hasZero i (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) m) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_3 : DecidableEq.{succ u1} σ] (i : σ) (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m (MvPolynomial.X.{u2, u1} R σ _inst_1 i)) (ite.{succ u2} R (Eq.{succ u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.single.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) i (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) m) (Finsupp.decidableEq.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (fun (a : σ) (b : σ) => _inst_3 a b) (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) (Finsupp.single.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) i (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) m) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (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_X' MvPolynomial.coeff_X'ₓ'. -/
theorem coeff_X' [DecidableEq σ] (i : σ) (m) :
coeff m (X i : MvPolynomial σ R) = if single i 1 = m then 1 else 0 := by
rw [← coeff_X_pow, pow_one]
#align mv_polynomial.coeff_X' MvPolynomial.coeff_X'
-/- warning: mv_polynomial.coeff_X -> MvPolynomial.coeff_X is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (i : σ), Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 (Finsupp.single.{u2, 0} σ Nat Nat.hasZero i (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (MvPolynomial.X.{u1, u2} R σ _inst_1 i)) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (i : σ), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 (Finsupp.single.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) i (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (MvPolynomial.X.{u2, u1} R σ _inst_1 i)) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.coeff_X MvPolynomial.coeff_Xₓ'. -/
@[simp]
theorem coeff_X (i : σ) : coeff (single i 1) (X i : MvPolynomial σ R) = 1 := by
classical rw [coeff_X', if_pos rfl]
#align mv_polynomial.coeff_X MvPolynomial.coeff_X
-/- warning: mv_polynomial.coeff_C_mul -> MvPolynomial.coeff_C_mul is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (m : Finsupp.{u2, 0} σ Nat Nat.hasZero) (a : R) (p : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a) p)) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) a (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m p))
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (a : R) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m (HMul.hMul.{max u2 u1, max u2 u1, max u1 u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} 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 (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : 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) a) p)) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) a (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m p))
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.coeff_C_mul MvPolynomial.coeff_C_mulₓ'. -/
@[simp]
theorem coeff_C_mul (m) (a : R) (p : MvPolynomial σ R) : coeff m (C a * p) = a * coeff m p := by
classical
@@ -1112,107 +698,53 @@ theorem coeff_C_mul (m) (a : R) (p : MvPolynomial σ R) : coeff m (C a * p) = a
simp
#align mv_polynomial.coeff_C_mul MvPolynomial.coeff_C_mul
-/- warning: mv_polynomial.coeff_mul -> MvPolynomial.coeff_mul is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (p : MvPolynomial.{u2, u1} σ R _inst_1) (q : MvPolynomial.{u2, u1} σ R _inst_1) (n : Finsupp.{u2, 0} σ Nat Nat.hasZero), Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 n (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) p q)) (Finset.sum.{u1, u2} R (Prod.{u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Finsupp.antidiagonal.{u2} σ n) (fun (x : Prod.{u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero)) => HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (MvPolynomial.coeff.{u1, u2} R σ _inst_1 (Prod.fst.{u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) x) p) (MvPolynomial.coeff.{u1, u2} R σ _inst_1 (Prod.snd.{u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) x) q)))
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (p : MvPolynomial.{u1, u2} σ R _inst_1) (q : MvPolynomial.{u1, u2} σ R _inst_1) (n : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 n (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) p q)) (Finset.sum.{u2, u1} R (Prod.{u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Finsupp.antidiagonal.{u1} σ n) (fun (x : Prod.{u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) => HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 (Prod.fst.{u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) x) p) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 (Prod.snd.{u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) x) q)))
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.coeff_mul MvPolynomial.coeff_mulₓ'. -/
theorem coeff_mul (p q : MvPolynomial σ R) (n : σ →₀ ℕ) :
coeff n (p * q) = ∑ x in antidiagonal n, coeff x.1 p * coeff x.2 q :=
AddMonoidAlgebra.mul_apply_antidiagonal p q _ _ fun p => mem_antidiagonal
#align mv_polynomial.coeff_mul MvPolynomial.coeff_mul
-/- warning: mv_polynomial.coeff_mul_monomial -> MvPolynomial.coeff_mul_monomial is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (m : Finsupp.{u2, 0} σ Nat Nat.hasZero) (s : Finsupp.{u2, 0} σ Nat Nat.hasZero) (r : R) (p : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 (HAdd.hAdd.{u2, u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (instHAdd.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.add.{u2, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) m s) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) p (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) r))) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m p) r)
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (r : R) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 (HAdd.hAdd.{u1, u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHAdd.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.add.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) m s) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) p (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) r))) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m p) r)
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.coeff_mul_monomial MvPolynomial.coeff_mul_monomialₓ'. -/
@[simp]
theorem coeff_mul_monomial (m) (s : σ →₀ ℕ) (r : R) (p : MvPolynomial σ R) :
coeff (m + s) (p * monomial s r) = coeff m p * r :=
AddMonoidAlgebra.mul_single_apply_aux p _ _ _ _ fun a => add_left_inj _
#align mv_polynomial.coeff_mul_monomial MvPolynomial.coeff_mul_monomial
-/- warning: mv_polynomial.coeff_monomial_mul -> MvPolynomial.coeff_monomial_mul is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (m : Finsupp.{u2, 0} σ Nat Nat.hasZero) (s : Finsupp.{u2, 0} σ Nat Nat.hasZero) (r : R) (p : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 (HAdd.hAdd.{u2, u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (instHAdd.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.add.{u2, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) s m) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) r) p)) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) r (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m p))
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (r : R) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 (HAdd.hAdd.{u1, u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHAdd.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.add.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) s m) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) r) p)) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) r (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m p))
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.coeff_monomial_mul MvPolynomial.coeff_monomial_mulₓ'. -/
@[simp]
theorem coeff_monomial_mul (m) (s : σ →₀ ℕ) (r : R) (p : MvPolynomial σ R) :
coeff (s + m) (monomial s r * p) = r * coeff m p :=
AddMonoidAlgebra.single_mul_apply_aux p _ _ _ _ fun a => add_right_inj _
#align mv_polynomial.coeff_monomial_mul MvPolynomial.coeff_monomial_mul
-/- warning: mv_polynomial.coeff_mul_X -> MvPolynomial.coeff_mul_X is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (m : Finsupp.{u2, 0} σ Nat Nat.hasZero) (s : σ) (p : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 (HAdd.hAdd.{u2, u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (instHAdd.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.add.{u2, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) m (Finsupp.single.{u2, 0} σ Nat Nat.hasZero s (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) p (MvPolynomial.X.{u1, u2} R σ _inst_1 s))) (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m p)
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (s : σ) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 (HAdd.hAdd.{u1, u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHAdd.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.add.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) m (Finsupp.single.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) s (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (HMul.hMul.{max u2 u1, max u1 u2, max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) p (MvPolynomial.X.{u2, u1} R σ _inst_1 s))) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m p)
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.coeff_mul_X MvPolynomial.coeff_mul_Xₓ'. -/
@[simp]
theorem coeff_mul_X (m) (s : σ) (p : MvPolynomial σ R) :
coeff (m + single s 1) (p * X s) = coeff m p :=
(coeff_mul_monomial _ _ _ _).trans (mul_one _)
#align mv_polynomial.coeff_mul_X MvPolynomial.coeff_mul_X
-/- warning: mv_polynomial.coeff_X_mul -> MvPolynomial.coeff_X_mul is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (m : Finsupp.{u2, 0} σ Nat Nat.hasZero) (s : σ) (p : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 (HAdd.hAdd.{u2, u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (instHAdd.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.add.{u2, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Finsupp.single.{u2, 0} σ Nat Nat.hasZero s (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) m) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (MvPolynomial.X.{u1, u2} R σ _inst_1 s) p)) (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m p)
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (s : σ) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 (HAdd.hAdd.{u1, u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHAdd.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.add.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Finsupp.single.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) s (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) m) (HMul.hMul.{max u1 u2, max u2 u1, max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) (MvPolynomial.X.{u2, u1} R σ _inst_1 s) p)) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m p)
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.coeff_X_mul MvPolynomial.coeff_X_mulₓ'. -/
@[simp]
theorem coeff_X_mul (m) (s : σ) (p : MvPolynomial σ R) :
coeff (single s 1 + m) (X s * p) = coeff m p :=
(coeff_monomial_mul _ _ _ _).trans (one_mul _)
#align mv_polynomial.coeff_X_mul MvPolynomial.coeff_X_mul
-/- warning: mv_polynomial.support_mul_X -> MvPolynomial.support_mul_X is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (s : σ) (p : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{succ u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (MvPolynomial.support.{u1, u2} R σ _inst_1 (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) p (MvPolynomial.X.{u1, u2} R σ _inst_1 s))) (Finset.map.{u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (addRightEmbedding.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (AddRightCancelMonoid.toAddRightCancelSemigroup.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (AddCancelMonoid.toAddRightCancelMonoid.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (AddCancelCommMonoid.toAddCancelMonoid.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.orderedCancelAddCommMonoid.{u2, 0} σ Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring)))))) (Finsupp.single.{u2, 0} σ Nat Nat.hasZero s (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (MvPolynomial.support.{u1, u2} R σ _inst_1 p))
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (s : σ) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.support.{u2, u1} R σ _inst_1 (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) p (MvPolynomial.X.{u2, u1} R σ _inst_1 s))) (Finset.map.{u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (addRightEmbedding.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (AddRightCancelMonoid.toAddRightCancelSemigroup.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.orderedCancelAddCommMonoid.{u1, 0} σ Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring)))))) (Finsupp.single.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) s (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (MvPolynomial.support.{u2, u1} R σ _inst_1 p))
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.support_mul_X MvPolynomial.support_mul_Xₓ'. -/
@[simp]
theorem support_mul_X (s : σ) (p : MvPolynomial σ R) :
(p * X s).support = p.support.map (addRightEmbedding (single s 1)) :=
AddMonoidAlgebra.support_mul_single p _ (by simp) _
#align mv_polynomial.support_mul_X MvPolynomial.support_mul_X
-/- warning: mv_polynomial.support_X_mul -> MvPolynomial.support_X_mul is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (s : σ) (p : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{succ u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (MvPolynomial.support.{u1, u2} R σ _inst_1 (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (MvPolynomial.X.{u1, u2} R σ _inst_1 s) p)) (Finset.map.{u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (addLeftEmbedding.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (AddLeftCancelMonoid.toAddLeftCancelSemigroup.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (AddCancelCommMonoid.toAddLeftCancelMonoid.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.orderedCancelAddCommMonoid.{u2, 0} σ Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (Finsupp.single.{u2, 0} σ Nat Nat.hasZero s (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (MvPolynomial.support.{u1, u2} R σ _inst_1 p))
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (s : σ) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.support.{u2, u1} R σ _inst_1 (HMul.hMul.{max u1 u2, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) (MvPolynomial.X.{u2, u1} R σ _inst_1 s) p)) (Finset.map.{u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (addLeftEmbedding.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (AddLeftCancelMonoid.toAddLeftCancelSemigroup.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (AddCancelCommMonoid.toAddLeftCancelMonoid.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.orderedCancelAddCommMonoid.{u1, 0} σ Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (Finsupp.single.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) s (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (MvPolynomial.support.{u2, u1} R σ _inst_1 p))
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.support_X_mul MvPolynomial.support_X_mulₓ'. -/
@[simp]
theorem support_X_mul (s : σ) (p : MvPolynomial σ R) :
(X s * p).support = p.support.map (addLeftEmbedding (single s 1)) :=
AddMonoidAlgebra.support_single_mul p _ (by simp) _
#align mv_polynomial.support_X_mul MvPolynomial.support_X_mul
-/- warning: mv_polynomial.support_smul_eq -> MvPolynomial.support_smul_eq is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {S₁ : Type.{u3}} [_inst_3 : Semiring.{u3} S₁] [_inst_4 : Module.{u3, u1} S₁ R _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))] [_inst_5 : NoZeroSMulDivisors.{u3, u1} S₁ R (MulZeroClass.toHasZero.{u3} S₁ (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ _inst_3)))) (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (SMulZeroClass.toHasSmul.{u3, u1} S₁ R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (SMulWithZero.toSmulZeroClass.{u3, u1} S₁ R (MulZeroClass.toHasZero.{u3} S₁ (MulZeroOneClass.toMulZeroClass.{u3} S₁ (MonoidWithZero.toMulZeroOneClass.{u3} S₁ (Semiring.toMonoidWithZero.{u3} S₁ _inst_3)))) (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (MulActionWithZero.toSMulWithZero.{u3, u1} S₁ R (Semiring.toMonoidWithZero.{u3} S₁ _inst_3) (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (Module.toMulActionWithZero.{u3, u1} S₁ R _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_4))))] {a : S₁}, (Ne.{succ u3} S₁ a (OfNat.ofNat.{u3} S₁ 0 (OfNat.mk.{u3} S₁ 0 (Zero.zero.{u3} S₁ (MulZeroClass.toHasZero.{u3} S₁ (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ _inst_3)))))))) -> (forall (p : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{succ u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (MvPolynomial.support.{u1, u2} R σ _inst_1 (SMul.smul.{u3, max u2 u1} S₁ (MvPolynomial.{u2, u1} σ R _inst_1) (SMulZeroClass.toHasSmul.{u3, max u2 u1} S₁ (MvPolynomial.{u2, u1} σ R _inst_1) (MulZeroClass.toHasZero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toMulZeroClass.{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)))))) (MvPolynomial.smulZeroClass.{u3, u1, u2} S₁ R σ _inst_1 (SMulWithZero.toSmulZeroClass.{u3, u1} S₁ R (MulZeroClass.toHasZero.{u3} S₁ (MulZeroOneClass.toMulZeroClass.{u3} S₁ (MonoidWithZero.toMulZeroOneClass.{u3} S₁ (Semiring.toMonoidWithZero.{u3} S₁ _inst_3)))) (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (MulActionWithZero.toSMulWithZero.{u3, u1} S₁ R (Semiring.toMonoidWithZero.{u3} S₁ _inst_3) (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Module.toMulActionWithZero.{u3, u1} S₁ R _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_4))))) a p)) (MvPolynomial.support.{u1, u2} R σ _inst_1 p))
-but is expected to have type
- forall {R : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] {S₁ : Type.{u2}} [_inst_3 : Semiring.{u2} S₁] [_inst_4 : Module.{u2, u3} S₁ R _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))] [_inst_5 : NoZeroSMulDivisors.{u2, u3} S₁ R (MonoidWithZero.toZero.{u2} S₁ (Semiring.toMonoidWithZero.{u2} S₁ _inst_3)) (CommMonoidWithZero.toZero.{u3} R (CommSemiring.toCommMonoidWithZero.{u3} R _inst_1)) (SMulZeroClass.toSMul.{u2, u3} S₁ R (CommMonoidWithZero.toZero.{u3} R (CommSemiring.toCommMonoidWithZero.{u3} R _inst_1)) (SMulWithZero.toSMulZeroClass.{u2, u3} S₁ R (MonoidWithZero.toZero.{u2} S₁ (Semiring.toMonoidWithZero.{u2} S₁ _inst_3)) (CommMonoidWithZero.toZero.{u3} R (CommSemiring.toCommMonoidWithZero.{u3} R _inst_1)) (MulActionWithZero.toSMulWithZero.{u2, u3} S₁ R (Semiring.toMonoidWithZero.{u2} S₁ _inst_3) (CommMonoidWithZero.toZero.{u3} R (CommSemiring.toCommMonoidWithZero.{u3} R _inst_1)) (Module.toMulActionWithZero.{u2, u3} S₁ R _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) _inst_4))))] {a : S₁}, (Ne.{succ u2} S₁ a (OfNat.ofNat.{u2} S₁ 0 (Zero.toOfNat0.{u2} S₁ (MonoidWithZero.toZero.{u2} S₁ (Semiring.toMonoidWithZero.{u2} S₁ _inst_3))))) -> (forall (p : MvPolynomial.{u1, u3} σ R _inst_1), Eq.{succ u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.support.{u3, u1} R σ _inst_1 (HSMul.hSMul.{u2, max u3 u1, max u3 u1} S₁ (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u1, u3} σ R _inst_1) (instHSMul.{u2, max u3 u1} S₁ (MvPolynomial.{u1, u3} σ R _inst_1) (SMulZeroClass.toSMul.{u2, max u3 u1} S₁ (MvPolynomial.{u1, u3} σ R _inst_1) (CommMonoidWithZero.toZero.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toCommMonoidWithZero.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (MvPolynomial.smulZeroClass.{u2, u3, u1} S₁ R σ _inst_1 (SMulWithZero.toSMulZeroClass.{u2, u3} S₁ R (MonoidWithZero.toZero.{u2} S₁ (Semiring.toMonoidWithZero.{u2} S₁ _inst_3)) (CommMonoidWithZero.toZero.{u3} R (CommSemiring.toCommMonoidWithZero.{u3} R _inst_1)) (MulActionWithZero.toSMulWithZero.{u2, u3} S₁ R (Semiring.toMonoidWithZero.{u2} S₁ _inst_3) (CommMonoidWithZero.toZero.{u3} R (CommSemiring.toCommMonoidWithZero.{u3} R _inst_1)) (Module.toMulActionWithZero.{u2, u3} S₁ R _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) _inst_4)))))) a p)) (MvPolynomial.support.{u3, u1} R σ _inst_1 p))
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.support_smul_eq MvPolynomial.support_smul_eqₓ'. -/
@[simp]
theorem support_smul_eq {S₁ : Type _} [Semiring S₁] [Module S₁ R] [NoZeroSMulDivisors S₁ R] {a : S₁}
(h : a ≠ 0) (p : MvPolynomial σ R) : (a • p).support = p.support :=
Finsupp.support_smul_eq h
#align mv_polynomial.support_smul_eq MvPolynomial.support_smul_eq
-/- warning: mv_polynomial.support_sdiff_support_subset_support_add -> MvPolynomial.support_sdiff_support_subset_support_add is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_3 : DecidableEq.{succ u2} σ] (p : MvPolynomial.{u2, u1} σ R _inst_1) (q : MvPolynomial.{u2, u1} σ R _inst_1), HasSubset.Subset.{u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasSubset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (SDiff.sdiff.{u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasSdiff.{u2} (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 : σ) => _inst_3 a b) (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) a b)) (MvPolynomial.support.{u1, u2} R σ _inst_1 p) (MvPolynomial.support.{u1, u2} R σ _inst_1 q)) (MvPolynomial.support.{u1, u2} R σ _inst_1 (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHAdd.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasAdd.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) p q))
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_3 : DecidableEq.{succ u1} σ] (p : MvPolynomial.{u1, u2} σ R _inst_1) (q : MvPolynomial.{u1, u2} σ R _inst_1), HasSubset.Subset.{u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instHasSubsetFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (SDiff.sdiff.{u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instSDiffFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (fun (a : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (b : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Finsupp.decidableEq.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (fun (a : σ) (b : σ) => _inst_3 a b) (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) a b)) (MvPolynomial.support.{u2, u1} R σ _inst_1 p) (MvPolynomial.support.{u2, u1} R σ _inst_1 q)) (MvPolynomial.support.{u2, u1} R σ _inst_1 (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHAdd.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (Distrib.toAdd.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))))) p q))
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.support_sdiff_support_subset_support_add MvPolynomial.support_sdiff_support_subset_support_addₓ'. -/
theorem support_sdiff_support_subset_support_add [DecidableEq σ] (p q : MvPolynomial σ R) :
p.support \ q.support ⊆ (p + q).support :=
by
@@ -1221,12 +753,6 @@ theorem support_sdiff_support_subset_support_add [DecidableEq σ] (p q : MvPolyn
simp [hm.2, hm.1]
#align mv_polynomial.support_sdiff_support_subset_support_add MvPolynomial.support_sdiff_support_subset_support_add
-/- warning: mv_polynomial.support_symm_diff_support_subset_support_add -> MvPolynomial.support_symmDiff_support_subset_support_add is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_3 : DecidableEq.{succ u2} σ] (p : MvPolynomial.{u2, u1} σ R _inst_1) (q : MvPolynomial.{u2, u1} σ R _inst_1), HasSubset.Subset.{u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasSubset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (symmDiff.{u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (SemilatticeSup.toHasSup.{u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Lattice.toSemilatticeSup.{u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.lattice.{u2} (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 : σ) => _inst_3 a b) (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) a b)))) (Finset.hasSdiff.{u2} (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 : σ) => _inst_3 a b) (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) a b)) (MvPolynomial.support.{u1, u2} R σ _inst_1 p) (MvPolynomial.support.{u1, u2} R σ _inst_1 q)) (MvPolynomial.support.{u1, u2} R σ _inst_1 (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHAdd.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasAdd.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) p q))
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_3 : DecidableEq.{succ u1} σ] (p : MvPolynomial.{u1, u2} σ R _inst_1) (q : MvPolynomial.{u1, u2} σ R _inst_1), HasSubset.Subset.{u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instHasSubsetFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (symmDiff.{u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (SemilatticeSup.toSup.{u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Lattice.toSemilatticeSup.{u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instLatticeFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (fun (a : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (b : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Finsupp.decidableEq.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (fun (a : σ) (b : σ) => _inst_3 a b) (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) a b)))) (Finset.instSDiffFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (fun (a : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (b : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Finsupp.decidableEq.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (fun (a : σ) (b : σ) => _inst_3 a b) (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) a b)) (MvPolynomial.support.{u2, u1} R σ _inst_1 p) (MvPolynomial.support.{u2, u1} R σ _inst_1 q)) (MvPolynomial.support.{u2, u1} R σ _inst_1 (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHAdd.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (Distrib.toAdd.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))))) p q))
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.support_symm_diff_support_subset_support_add MvPolynomial.support_symmDiff_support_subset_support_addₓ'. -/
theorem support_symmDiff_support_subset_support_add [DecidableEq σ] (p q : MvPolynomial σ R) :
p.support ∆ q.support ⊆ (p + q).support :=
by
@@ -1237,9 +763,6 @@ theorem support_symmDiff_support_subset_support_add [DecidableEq σ] (p q : MvPo
exact support_sdiff_support_subset_support_add q p
#align mv_polynomial.support_symm_diff_support_subset_support_add MvPolynomial.support_symmDiff_support_subset_support_add
-/- warning: mv_polynomial.coeff_mul_monomial' -> MvPolynomial.coeff_mul_monomial' is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.coeff_mul_monomial' MvPolynomial.coeff_mul_monomial'ₓ'. -/
theorem coeff_mul_monomial' (m) (s : σ →₀ ℕ) (r : R) (p : MvPolynomial σ R) :
coeff m (p * monomial s r) = if s ≤ m then coeff (m - s) p * r else 0 := by
classical
@@ -1258,9 +781,6 @@ theorem coeff_mul_monomial' (m) (s : σ →₀ ℕ) (r : R) (p : MvPolynomial σ
exact le_add_left le_rfl
#align mv_polynomial.coeff_mul_monomial' MvPolynomial.coeff_mul_monomial'
-/- warning: mv_polynomial.coeff_monomial_mul' -> MvPolynomial.coeff_monomial_mul' is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.coeff_monomial_mul' MvPolynomial.coeff_monomial_mul'ₓ'. -/
theorem coeff_monomial_mul' (m) (s : σ →₀ ℕ) (r : R) (p : MvPolynomial σ R) :
coeff m (monomial s r * p) = if s ≤ m then r * coeff (m - s) p else 0 :=
by
@@ -1269,12 +789,6 @@ theorem coeff_monomial_mul' (m) (s : σ →₀ ℕ) (r : R) (p : MvPolynomial σ
exact coeff_mul_monomial' _ _ _ _
#align mv_polynomial.coeff_monomial_mul' MvPolynomial.coeff_monomial_mul'
-/- warning: mv_polynomial.coeff_mul_X' -> MvPolynomial.coeff_mul_X' is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_3 : DecidableEq.{succ u2} σ] (m : Finsupp.{u2, 0} σ Nat Nat.hasZero) (s : σ) (p : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) p (MvPolynomial.X.{u1, u2} R σ _inst_1 s))) (ite.{succ u1} R (Membership.Mem.{u2, u2} σ (Finset.{u2} σ) (Finset.hasMem.{u2} σ) s (Finsupp.support.{u2, 0} σ Nat Nat.hasZero m)) (Finset.decidableMem.{u2} σ (fun (a : σ) (b : σ) => _inst_3 a b) s (Finsupp.support.{u2, 0} σ Nat Nat.hasZero m)) (MvPolynomial.coeff.{u1, u2} R σ _inst_1 (HSub.hSub.{u2, u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (instHSub.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.tsub.{u2, 0} σ Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) Nat.hasSub Nat.orderedSub)) m (Finsupp.single.{u2, 0} σ Nat Nat.hasZero s (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) p) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_3 : DecidableEq.{succ u1} σ] (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (s : σ) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m (HMul.hMul.{max u2 u1, max u1 u2, max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) p (MvPolynomial.X.{u2, u1} R σ _inst_1 s))) (ite.{succ u2} R (Membership.mem.{u1, u1} σ (Finset.{u1} σ) (Finset.instMembershipFinset.{u1} σ) s (Finsupp.support.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) m)) (Finset.decidableMem.{u1} σ (fun (a : σ) (b : σ) => _inst_3 a b) s (Finsupp.support.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) m)) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 (HSub.hSub.{u1, u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHSub.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.tsub.{u1, 0} σ Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) instSubNat Nat.instOrderedSubNatInstLENatInstAddNatInstSubNat)) m (Finsupp.single.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) s (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) p) (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_mul_X' MvPolynomial.coeff_mul_X'ₓ'. -/
theorem coeff_mul_X' [DecidableEq σ] (m) (s : σ) (p : MvPolynomial σ R) :
coeff m (p * X s) = if s ∈ m.support then coeff (m - single s 1) p else 0 :=
by
@@ -1283,12 +797,6 @@ theorem coeff_mul_X' [DecidableEq σ] (m) (s : σ) (p : MvPolynomial σ R) :
mul_one]
#align mv_polynomial.coeff_mul_X' MvPolynomial.coeff_mul_X'
-/- warning: mv_polynomial.coeff_X_mul' -> MvPolynomial.coeff_X_mul' is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_3 : DecidableEq.{succ u2} σ] (m : Finsupp.{u2, 0} σ Nat Nat.hasZero) (s : σ) (p : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (MvPolynomial.X.{u1, u2} R σ _inst_1 s) p)) (ite.{succ u1} R (Membership.Mem.{u2, u2} σ (Finset.{u2} σ) (Finset.hasMem.{u2} σ) s (Finsupp.support.{u2, 0} σ Nat Nat.hasZero m)) (Finset.decidableMem.{u2} σ (fun (a : σ) (b : σ) => _inst_3 a b) s (Finsupp.support.{u2, 0} σ Nat Nat.hasZero m)) (MvPolynomial.coeff.{u1, u2} R σ _inst_1 (HSub.hSub.{u2, u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (instHSub.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.tsub.{u2, 0} σ Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) Nat.hasSub Nat.orderedSub)) m (Finsupp.single.{u2, 0} σ Nat Nat.hasZero s (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) p) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_3 : DecidableEq.{succ u1} σ] (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (s : σ) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m (HMul.hMul.{max u1 u2, max u2 u1, max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) (MvPolynomial.X.{u2, u1} R σ _inst_1 s) p)) (ite.{succ u2} R (Membership.mem.{u1, u1} σ (Finset.{u1} σ) (Finset.instMembershipFinset.{u1} σ) s (Finsupp.support.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) m)) (Finset.decidableMem.{u1} σ (fun (a : σ) (b : σ) => _inst_3 a b) s (Finsupp.support.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) m)) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 (HSub.hSub.{u1, u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHSub.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.tsub.{u1, 0} σ Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) instSubNat Nat.instOrderedSubNatInstLENatInstAddNatInstSubNat)) m (Finsupp.single.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) s (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) p) (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_X_mul' MvPolynomial.coeff_X_mul'ₓ'. -/
theorem coeff_X_mul' [DecidableEq σ] (m) (s : σ) (p : MvPolynomial σ R) :
coeff m (X s * p) = if s ∈ m.support then coeff (m - single s 1) p else 0 :=
by
@@ -1297,53 +805,23 @@ theorem coeff_X_mul' [DecidableEq σ] (m) (s : σ) (p : MvPolynomial σ R) :
one_mul]
#align mv_polynomial.coeff_X_mul' MvPolynomial.coeff_X_mul'
-/- warning: mv_polynomial.eq_zero_iff -> MvPolynomial.eq_zero_iff is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {p : MvPolynomial.{u2, u1} σ R _inst_1}, Iff (Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) p (OfNat.ofNat.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) 0 (OfNat.mk.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) 0 (Zero.zero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MulZeroClass.toHasZero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toMulZeroClass.{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)))))))))) (forall (d : Finsupp.{u2, 0} σ Nat Nat.hasZero), Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 d p) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {p : MvPolynomial.{u1, u2} σ R _inst_1}, Iff (Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u1, u2} σ R _inst_1) p (OfNat.ofNat.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) 0 (Zero.toOfNat0.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (CommMonoidWithZero.toZero.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toCommMonoidWithZero.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))))) (forall (d : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d p) (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.eq_zero_iff MvPolynomial.eq_zero_iffₓ'. -/
theorem eq_zero_iff {p : MvPolynomial σ R} : p = 0 ↔ ∀ d, coeff d p = 0 := by rw [ext_iff];
simp only [coeff_zero]
#align mv_polynomial.eq_zero_iff MvPolynomial.eq_zero_iff
-/- warning: mv_polynomial.ne_zero_iff -> MvPolynomial.ne_zero_iff is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {p : MvPolynomial.{u2, u1} σ R _inst_1}, Iff (Ne.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) p (OfNat.ofNat.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) 0 (OfNat.mk.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) 0 (Zero.zero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MulZeroClass.toHasZero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toMulZeroClass.{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)))))))))) (Exists.{succ u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (fun (d : Finsupp.{u2, 0} σ Nat Nat.hasZero) => Ne.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 d p) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))))
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {p : MvPolynomial.{u1, u2} σ R _inst_1}, Iff (Ne.{max (succ u2) (succ u1)} (MvPolynomial.{u1, u2} σ R _inst_1) p (OfNat.ofNat.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) 0 (Zero.toOfNat0.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (CommMonoidWithZero.toZero.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toCommMonoidWithZero.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))))) (Exists.{succ u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (fun (d : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Ne.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d p) (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.ne_zero_iff MvPolynomial.ne_zero_iffₓ'. -/
theorem ne_zero_iff {p : MvPolynomial σ R} : p ≠ 0 ↔ ∃ d, coeff d p ≠ 0 := by
rw [Ne.def, eq_zero_iff]; push_neg
#align mv_polynomial.ne_zero_iff MvPolynomial.ne_zero_iff
-/- warning: mv_polynomial.support_eq_empty -> MvPolynomial.support_eq_empty is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {p : MvPolynomial.{u2, u1} σ R _inst_1}, Iff (Eq.{succ u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (MvPolynomial.support.{u1, u2} R σ _inst_1 p) (EmptyCollection.emptyCollection.{u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasEmptyc.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)))) (Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) p (OfNat.ofNat.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) 0 (OfNat.mk.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) 0 (Zero.zero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MulZeroClass.toHasZero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toMulZeroClass.{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))))))))))
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {p : MvPolynomial.{u1, u2} σ R _inst_1}, Iff (Eq.{succ u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.support.{u2, u1} R σ _inst_1 p) (EmptyCollection.emptyCollection.{u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instEmptyCollectionFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))))) (Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u1, u2} σ R _inst_1) p (OfNat.ofNat.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) 0 (Zero.toOfNat0.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (CommMonoidWithZero.toZero.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toCommMonoidWithZero.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1))))))
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.support_eq_empty MvPolynomial.support_eq_emptyₓ'. -/
@[simp]
theorem support_eq_empty {p : MvPolynomial σ R} : p.support = ∅ ↔ p = 0 :=
Finsupp.support_eq_empty
#align mv_polynomial.support_eq_empty MvPolynomial.support_eq_empty
-/- warning: mv_polynomial.exists_coeff_ne_zero -> MvPolynomial.exists_coeff_ne_zero is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {p : MvPolynomial.{u2, u1} σ R _inst_1}, (Ne.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) p (OfNat.ofNat.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) 0 (OfNat.mk.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) 0 (Zero.zero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MulZeroClass.toHasZero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toMulZeroClass.{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)))))))))) -> (Exists.{succ u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (fun (d : Finsupp.{u2, 0} σ Nat Nat.hasZero) => Ne.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 d p) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))))
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {p : MvPolynomial.{u1, u2} σ R _inst_1}, (Ne.{max (succ u2) (succ u1)} (MvPolynomial.{u1, u2} σ R _inst_1) p (OfNat.ofNat.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) 0 (Zero.toOfNat0.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (CommMonoidWithZero.toZero.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toCommMonoidWithZero.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))))) -> (Exists.{succ u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (fun (d : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Ne.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d p) (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.exists_coeff_ne_zero MvPolynomial.exists_coeff_ne_zeroₓ'. -/
theorem exists_coeff_ne_zero {p : MvPolynomial σ R} (h : p ≠ 0) : ∃ d, coeff d p ≠ 0 :=
ne_zero_iff.mp h
#align mv_polynomial.exists_coeff_ne_zero MvPolynomial.exists_coeff_ne_zero
-/- warning: mv_polynomial.C_dvd_iff_dvd_coeff -> MvPolynomial.C_dvd_iff_dvd_coeff is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (r : R) (φ : MvPolynomial.{u2, u1} σ R _inst_1), Iff (Dvd.Dvd.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (semigroupDvd.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (SemigroupWithZero.toSemigroup.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalSemiring.toSemigroupWithZero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalCommSemiring.toNonUnitalSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toNonUnitalCommSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) r) φ) (forall (i : Finsupp.{u2, 0} σ Nat Nat.hasZero), Dvd.Dvd.{u1} R (semigroupDvd.{u1} R (SemigroupWithZero.toSemigroup.{u1} R (NonUnitalSemiring.toSemigroupWithZero.{u1} R (NonUnitalCommSemiring.toNonUnitalSemiring.{u1} R (CommSemiring.toNonUnitalCommSemiring.{u1} R _inst_1))))) r (MvPolynomial.coeff.{u1, u2} R σ _inst_1 i φ))
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (r : R) (φ : MvPolynomial.{u1, u2} σ R _inst_1), Iff (Dvd.dvd.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (semigroupDvd.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (SemigroupWithZero.toSemigroup.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (NonUnitalSemiring.toSemigroupWithZero.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (NonUnitalCommSemiring.toNonUnitalSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (CommSemiring.toNonUnitalCommSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (MvPolynomial.commSemiring.{u2, u1} 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 (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : 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) φ) (forall (i : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)), Dvd.dvd.{u2} R (semigroupDvd.{u2} R (SemigroupWithZero.toSemigroup.{u2} R (NonUnitalSemiring.toSemigroupWithZero.{u2} R (NonUnitalCommSemiring.toNonUnitalSemiring.{u2} R (CommSemiring.toNonUnitalCommSemiring.{u2} R _inst_1))))) r (MvPolynomial.coeff.{u2, u1} R σ _inst_1 i φ))
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.C_dvd_iff_dvd_coeff MvPolynomial.C_dvd_iff_dvd_coeffₓ'. -/
theorem C_dvd_iff_dvd_coeff (r : R) (φ : MvPolynomial σ R) : C r ∣ φ ↔ ∀ i, r ∣ φ.coeff i :=
by
constructor
@@ -1380,21 +858,12 @@ def constantCoeff : MvPolynomial σ R →+* R
#align mv_polynomial.constant_coeff MvPolynomial.constantCoeff
-/
-/- warning: mv_polynomial.constant_coeff_eq -> MvPolynomial.constantCoeff_eq is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R], Eq.{max (succ u2) (succ u1)} ((fun (_x : RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u2, u1} σ R _inst_1) -> R) (MvPolynomial.constantCoeff.{u1, u2} R σ _inst_1)) (coeFn.{max (succ (max u2 u1)) (succ u1), max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u2, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.constantCoeff.{u1, u2} R σ _inst_1)) (MvPolynomial.coeff.{u1, u2} R σ _inst_1 (OfNat.ofNat.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (OfNat.mk.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (Zero.zero.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.zero.{u2, 0} σ Nat Nat.hasZero)))))
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} (forall (a : MvPolynomial.{u1, u2} σ R _inst_1), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) a) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1)) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 (OfNat.ofNat.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) 0 (Zero.toOfNat0.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.zero.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)))))
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.constant_coeff_eq MvPolynomial.constantCoeff_eqₓ'. -/
theorem constantCoeff_eq : (constantCoeff : MvPolynomial σ R → R) = coeff 0 :=
rfl
#align mv_polynomial.constant_coeff_eq MvPolynomial.constantCoeff_eq
variable (σ)
-/- warning: mv_polynomial.constant_coeff_C -> MvPolynomial.constantCoeff_C is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.constant_coeff_C MvPolynomial.constantCoeff_Cₓ'. -/
@[simp]
theorem constantCoeff_C (r : R) : constantCoeff (C r : MvPolynomial σ R) = r := by
simp [constant_coeff_eq]
@@ -1404,12 +873,6 @@ variable {σ}
variable (R)
-/- warning: mv_polynomial.constant_coeff_X -> MvPolynomial.constantCoeff_X is a dubious translation:
-lean 3 declaration is
- forall (R : Type.{u1}) {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (i : σ), Eq.{succ u1} R (coeFn.{max (succ (max u2 u1)) (succ u1), max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u2, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.constantCoeff.{u1, u2} R σ _inst_1) (MvPolynomial.X.{u1, u2} R σ _inst_1 i)) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))
-but is expected to have type
- forall (R : Type.{u2}) {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (i : σ), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) (MvPolynomial.X.{u2, u1} R σ _inst_1 i)) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) (MvPolynomial.X.{u2, u1} R σ _inst_1 i)) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) (MvPolynomial.X.{u2, u1} R σ _inst_1 i)) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) (MvPolynomial.X.{u2, u1} R σ _inst_1 i)) (CommMonoidWithZero.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) (MvPolynomial.X.{u2, u1} R σ _inst_1 i)) (CommSemiring.toCommMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) (MvPolynomial.X.{u2, u1} R σ _inst_1 i)) _inst_1))))
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.constant_coeff_X MvPolynomial.constantCoeff_Xₓ'. -/
@[simp]
theorem constantCoeff_X (i : σ) : constantCoeff (X i : MvPolynomial σ R) = 0 := by
simp [constant_coeff_eq]
@@ -1417,18 +880,12 @@ theorem constantCoeff_X (i : σ) : constantCoeff (X i : MvPolynomial σ R) = 0 :
variable {R}
-/- warning: mv_polynomial.constant_coeff_smul -> MvPolynomial.constantCoeff_smul is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.constant_coeff_smul MvPolynomial.constantCoeff_smulₓ'. -/
@[simp]
theorem constantCoeff_smul {R : Type _} [SMulZeroClass R S₁] (a : R) (f : MvPolynomial σ S₁) :
constantCoeff (a • f) = a • constantCoeff f :=
rfl
#align mv_polynomial.constant_coeff_smul MvPolynomial.constantCoeff_smul
-/- warning: mv_polynomial.constant_coeff_monomial -> MvPolynomial.constantCoeff_monomial is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.constant_coeff_monomial MvPolynomial.constantCoeff_monomialₓ'. -/
theorem constantCoeff_monomial [DecidableEq σ] (d : σ →₀ ℕ) (r : R) :
constantCoeff (monomial d r) = if d = 0 then r else 0 := by
rw [constant_coeff_eq, coeff_monomial]
@@ -1436,23 +893,11 @@ theorem constantCoeff_monomial [DecidableEq σ] (d : σ →₀ ℕ) (r : R) :
variable (σ R)
-/- warning: mv_polynomial.constant_coeff_comp_C -> MvPolynomial.constantCoeff_comp_C is a dubious translation:
-lean 3 declaration is
- forall (R : Type.{u1}) (σ : Type.{u2}) [_inst_1 : CommSemiring.{u1} R], Eq.{succ u1} (RingHom.{u1, u1} R R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.comp.{u1, max u2 u1, u1} R (MvPolynomial.{u2, u1} σ R _inst_1) R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MvPolynomial.constantCoeff.{u1, u2} R σ _inst_1) (MvPolynomial.C.{u1, u2} R σ _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))
-but is expected to have type
- forall (R : Type.{u2}) (σ : Type.{u1}) [_inst_1 : CommSemiring.{u2} R], Eq.{succ u2} (RingHom.{u2, u2} R R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.comp.{u2, max u1 u2, u2} R (MvPolynomial.{u1, u2} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) (MvPolynomial.C.{u2, u1} R σ _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.constant_coeff_comp_C MvPolynomial.constantCoeff_comp_Cₓ'. -/
@[simp]
theorem constantCoeff_comp_C : constantCoeff.comp (C : R →+* MvPolynomial σ R) = RingHom.id R := by
ext x; exact constant_coeff_C σ x
#align mv_polynomial.constant_coeff_comp_C MvPolynomial.constantCoeff_comp_C
-/- warning: mv_polynomial.constant_coeff_comp_algebra_map -> MvPolynomial.constantCoeff_comp_algebraMap is a dubious translation:
-lean 3 declaration is
- forall (R : Type.{u1}) (σ : Type.{u2}) [_inst_1 : CommSemiring.{u1} R], Eq.{succ u1} (RingHom.{u1, u1} R R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.comp.{u1, max u2 u1, u1} R (MvPolynomial.{u2, u1} σ R _inst_1) R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MvPolynomial.constantCoeff.{u1, u2} R σ _inst_1) (algebraMap.{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)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))
-but is expected to have type
- forall (R : Type.{u2}) (σ : Type.{u1}) [_inst_1 : CommSemiring.{u2} R], Eq.{succ u2} (RingHom.{u2, u2} R R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.comp.{u2, max u1 u2, u2} R (MvPolynomial.{u1, u2} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) (algebraMap.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.constant_coeff_comp_algebra_map MvPolynomial.constantCoeff_comp_algebraMapₓ'. -/
@[simp]
theorem constantCoeff_comp_algebraMap :
constantCoeff.comp (algebraMap R (MvPolynomial σ R)) = RingHom.id R :=
@@ -1463,24 +908,12 @@ end ConstantCoeff
section AsSum
-/- warning: mv_polynomial.support_sum_monomial_coeff -> MvPolynomial.support_sum_monomial_coeff is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (p : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{succ (max u2 u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (Finset.sum.{max u2 u1, u2} (MvPolynomial.{u2, u1} σ R _inst_1) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (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))))) (MvPolynomial.support.{u1, u2} R σ _inst_1 p) (fun (v : Finsupp.{u2, 0} σ Nat Nat.hasZero) => coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 v) (MvPolynomial.coeff.{u1, u2} R σ _inst_1 v p))) p
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u1, u2} σ R _inst_1) (Finset.sum.{max u2 u1, u1} (MvPolynomial.{u1, u2} σ R _inst_1) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (MvPolynomial.support.{u2, u1} R σ _inst_1 p) (fun (v : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 v) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 v p))) p
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.support_sum_monomial_coeff MvPolynomial.support_sum_monomial_coeffₓ'. -/
@[simp]
theorem support_sum_monomial_coeff (p : MvPolynomial σ R) :
(∑ v in p.support, monomial v (coeff v p)) = p :=
Finsupp.sum_single p
#align mv_polynomial.support_sum_monomial_coeff MvPolynomial.support_sum_monomial_coeff
-/- warning: mv_polynomial.as_sum -> MvPolynomial.as_sum is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (p : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) p (Finset.sum.{max u2 u1, u2} (MvPolynomial.{u2, u1} σ R _inst_1) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (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))))) (MvPolynomial.support.{u1, u2} R σ _inst_1 p) (fun (v : Finsupp.{u2, 0} σ Nat Nat.hasZero) => coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 v) (MvPolynomial.coeff.{u1, u2} R σ _inst_1 v p)))
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u1, u2} σ R _inst_1) p (Finset.sum.{max u2 u1, u1} (MvPolynomial.{u1, u2} σ R _inst_1) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (MvPolynomial.support.{u2, u1} R σ _inst_1 p) (fun (v : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 v) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 v p)))
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.as_sum MvPolynomial.as_sumₓ'. -/
theorem as_sum (p : MvPolynomial σ R) : p = ∑ v in p.support, monomial v (coeff v p) :=
(support_sum_monomial_coeff p).symm
#align mv_polynomial.as_sum MvPolynomial.as_sum
@@ -1499,34 +932,16 @@ def eval₂ (p : MvPolynomial σ R) : S₁ :=
#align mv_polynomial.eval₂ MvPolynomial.eval₂
-/
-/- warning: mv_polynomial.eval₂_eq -> MvPolynomial.eval₂_eq is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (g : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (x : σ -> S₁) (f : MvPolynomial.{u3, u1} σ R _inst_1), Eq.{succ u2} S₁ (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 g x f) (Finset.sum.{u2, u3} S₁ (Finsupp.{u3, 0} σ Nat Nat.hasZero) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))) (MvPolynomial.support.{u1, u3} R σ _inst_1 f) (fun (d : Finsupp.{u3, 0} σ Nat Nat.hasZero) => HMul.hMul.{u2, u2, u2} S₁ S₁ S₁ (instHMul.{u2} S₁ (Distrib.toHasMul.{u2} S₁ (NonUnitalNonAssocSemiring.toDistrib.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) g (MvPolynomial.coeff.{u1, u3} R σ _inst_1 d f)) (Finset.prod.{u2, u3} S₁ σ (CommSemiring.toCommMonoid.{u2} S₁ _inst_2) (Finsupp.support.{u3, 0} σ Nat Nat.hasZero d) (fun (i : σ) => HPow.hPow.{u2, 0, u2} S₁ Nat S₁ (instHPow.{u2, 0} S₁ Nat (Monoid.Pow.{u2} S₁ (MonoidWithZero.toMonoid.{u2} S₁ (Semiring.toMonoidWithZero.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))))) (x i) (coeFn.{succ u3, succ u3} (Finsupp.{u3, 0} σ Nat Nat.hasZero) (fun (_x : Finsupp.{u3, 0} σ Nat Nat.hasZero) => σ -> Nat) (Finsupp.coeFun.{u3, 0} σ Nat Nat.hasZero) d i)))))
-but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (g : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (x : σ -> S₁) (f : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} S₁ (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 g x f) (Finset.sum.{u3, u1} S₁ (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (MvPolynomial.support.{u2, u1} R σ _inst_1 f) (fun (d : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => HMul.hMul.{u3, u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f)) S₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f)) (instHMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f)) (NonUnitalNonAssocSemiring.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f)) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f)) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f)) _inst_2))))) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) g (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f)) (Finset.prod.{u3, u1} S₁ σ (CommSemiring.toCommMonoid.{u3} S₁ _inst_2) (Finsupp.support.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) d) (fun (i : σ) => HPow.hPow.{u3, 0, u3} S₁ ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : σ) => Nat) i) S₁ (instHPow.{u3, 0} S₁ ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : σ) => Nat) i) (Monoid.Pow.{u3} S₁ (MonoidWithZero.toMonoid.{u3} S₁ (Semiring.toMonoidWithZero.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))))) (x i) (FunLike.coe.{succ u1, succ u1, 1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) σ (fun (_x : σ) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : σ) => Nat) _x) (Finsupp.funLike.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) d i)))))
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_eq MvPolynomial.eval₂_eqₓ'. -/
theorem eval₂_eq (g : R →+* S₁) (x : σ → S₁) (f : MvPolynomial σ R) :
f.eval₂ g x = ∑ d in f.support, g (f.coeff d) * ∏ i in d.support, x i ^ d i :=
rfl
#align mv_polynomial.eval₂_eq MvPolynomial.eval₂_eq
-/- warning: mv_polynomial.eval₂_eq' -> MvPolynomial.eval₂_eq' is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : Fintype.{u3} σ] (g : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (x : σ -> S₁) (f : MvPolynomial.{u3, u1} σ R _inst_1), Eq.{succ u2} S₁ (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 g x f) (Finset.sum.{u2, u3} S₁ (Finsupp.{u3, 0} σ Nat Nat.hasZero) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))) (MvPolynomial.support.{u1, u3} R σ _inst_1 f) (fun (d : Finsupp.{u3, 0} σ Nat Nat.hasZero) => HMul.hMul.{u2, u2, u2} S₁ S₁ S₁ (instHMul.{u2} S₁ (Distrib.toHasMul.{u2} S₁ (NonUnitalNonAssocSemiring.toDistrib.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) g (MvPolynomial.coeff.{u1, u3} R σ _inst_1 d f)) (Finset.prod.{u2, u3} S₁ σ (CommSemiring.toCommMonoid.{u2} S₁ _inst_2) (Finset.univ.{u3} σ _inst_3) (fun (i : σ) => HPow.hPow.{u2, 0, u2} S₁ Nat S₁ (instHPow.{u2, 0} S₁ Nat (Monoid.Pow.{u2} S₁ (MonoidWithZero.toMonoid.{u2} S₁ (Semiring.toMonoidWithZero.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))))) (x i) (coeFn.{succ u3, succ u3} (Finsupp.{u3, 0} σ Nat Nat.hasZero) (fun (_x : Finsupp.{u3, 0} σ Nat Nat.hasZero) => σ -> Nat) (Finsupp.coeFun.{u3, 0} σ Nat Nat.hasZero) d i)))))
-but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : Fintype.{u1} σ] (g : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (x : σ -> S₁) (f : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} S₁ (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 g x f) (Finset.sum.{u3, u1} S₁ (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (MvPolynomial.support.{u2, u1} R σ _inst_1 f) (fun (d : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => HMul.hMul.{u3, u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f)) S₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f)) (instHMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f)) (NonUnitalNonAssocSemiring.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f)) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f)) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f)) _inst_2))))) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) g (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f)) (Finset.prod.{u3, u1} S₁ σ (CommSemiring.toCommMonoid.{u3} S₁ _inst_2) (Finset.univ.{u1} σ _inst_3) (fun (i : σ) => HPow.hPow.{u3, 0, u3} S₁ ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : σ) => Nat) i) S₁ (instHPow.{u3, 0} S₁ ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : σ) => Nat) i) (Monoid.Pow.{u3} S₁ (MonoidWithZero.toMonoid.{u3} S₁ (Semiring.toMonoidWithZero.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))))) (x i) (FunLike.coe.{succ u1, succ u1, 1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) σ (fun (_x : σ) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : σ) => Nat) _x) (Finsupp.funLike.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) d i)))))
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_eq' MvPolynomial.eval₂_eq'ₓ'. -/
theorem eval₂_eq' [Fintype σ] (g : R →+* S₁) (x : σ → S₁) (f : MvPolynomial σ R) :
f.eval₂ g x = ∑ d in f.support, g (f.coeff d) * ∏ i, x i ^ d i := by
simp only [eval₂_eq, ← Finsupp.prod_pow]; rfl
#align mv_polynomial.eval₂_eq' MvPolynomial.eval₂_eq'
-/- warning: mv_polynomial.eval₂_zero -> MvPolynomial.eval₂_zero is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : σ -> S₁), Eq.{succ u2} S₁ (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g (OfNat.ofNat.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) 0 (OfNat.mk.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) 0 (Zero.zero.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MulZeroClass.toHasZero.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toMulZeroClass.{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)))))))))) (OfNat.ofNat.{u2} S₁ 0 (OfNat.mk.{u2} S₁ 0 (Zero.zero.{u2} S₁ (MulZeroClass.toHasZero.{u2} S₁ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))))))))
-but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁), Eq.{succ u3} S₁ (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g (OfNat.ofNat.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) 0 (Zero.toOfNat0.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (CommMonoidWithZero.toZero.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toCommMonoidWithZero.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))))) (OfNat.ofNat.{u3} S₁ 0 (Zero.toOfNat0.{u3} S₁ (CommMonoidWithZero.toZero.{u3} S₁ (CommSemiring.toCommMonoidWithZero.{u3} S₁ _inst_2))))
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_zero MvPolynomial.eval₂_zeroₓ'. -/
@[simp]
theorem eval₂_zero : (0 : MvPolynomial σ R).eval₂ f g = 0 :=
Finsupp.sum_zero_index
@@ -1534,61 +949,31 @@ theorem eval₂_zero : (0 : MvPolynomial σ R).eval₂ f g = 0 :=
section
-/- warning: mv_polynomial.eval₂_add -> MvPolynomial.eval₂_add is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] {p : MvPolynomial.{u3, u1} σ R _inst_1} {q : MvPolynomial.{u3, u1} σ R _inst_1} (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : σ -> S₁), Eq.{succ u2} S₁ (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g (HAdd.hAdd.{max u3 u1, max u3 u1, max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u1} σ R _inst_1) (instHAdd.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (Distrib.toHasAdd.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) p q)) (HAdd.hAdd.{u2, u2, u2} S₁ S₁ S₁ (instHAdd.{u2} S₁ (Distrib.toHasAdd.{u2} S₁ (NonUnitalNonAssocSemiring.toDistrib.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))))) (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g p) (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g q))
-but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] {p : MvPolynomial.{u1, u2} σ R _inst_1} {q : MvPolynomial.{u1, u2} σ R _inst_1} (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁), Eq.{succ u3} S₁ (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHAdd.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (Distrib.toAdd.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))))) p q)) (HAdd.hAdd.{u3, u3, u3} S₁ S₁ S₁ (instHAdd.{u3} S₁ (Distrib.toAdd.{u3} S₁ (NonUnitalNonAssocSemiring.toDistrib.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g p) (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g q))
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_add MvPolynomial.eval₂_addₓ'. -/
@[simp]
theorem eval₂_add : (p + q).eval₂ f g = p.eval₂ f g + q.eval₂ f g := by
classical exact Finsupp.sum_add_index (by simp [f.map_zero]) (by simp [add_mul, f.map_add])
#align mv_polynomial.eval₂_add MvPolynomial.eval₂_add
-/- warning: mv_polynomial.eval₂_monomial -> MvPolynomial.eval₂_monomial is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_monomial MvPolynomial.eval₂_monomialₓ'. -/
@[simp]
theorem eval₂_monomial : (monomial s a).eval₂ f g = f a * s.Prod fun n e => g n ^ e :=
Finsupp.sum_single_index (by simp [f.map_zero])
#align mv_polynomial.eval₂_monomial MvPolynomial.eval₂_monomial
-/- warning: mv_polynomial.eval₂_C -> MvPolynomial.eval₂_C is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : σ -> S₁) (a : R), Eq.{succ u2} S₁ (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g (coeFn.{max (succ u1) (succ (max u3 u1)), max (succ u1) (succ (max u3 u1))} (RingHom.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u3, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u3} R σ _inst_1) a)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) f a)
-but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁) (a : R), Eq.{succ u3} S₁ (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g (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.2397 : 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) a)) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f a)
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_C MvPolynomial.eval₂_Cₓ'. -/
@[simp]
theorem eval₂_C (a) : (C a).eval₂ f g = f a := by
rw [C_apply, eval₂_monomial, prod_zero_index, mul_one]
#align mv_polynomial.eval₂_C MvPolynomial.eval₂_C
-/- warning: mv_polynomial.eval₂_one -> MvPolynomial.eval₂_one is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : σ -> S₁), Eq.{succ u2} S₁ (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g (OfNat.ofNat.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) 1 (OfNat.mk.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) 1 (One.one.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (AddMonoidWithOne.toOne.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (AddCommMonoidWithOne.toAddMonoidWithOne.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (NonAssocSemiring.toAddCommMonoidWithOne.{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)))))))))) (OfNat.ofNat.{u2} S₁ 1 (OfNat.mk.{u2} S₁ 1 (One.one.{u2} S₁ (AddMonoidWithOne.toOne.{u2} S₁ (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} S₁ (NonAssocSemiring.toAddCommMonoidWithOne.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))))))))
-but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁), Eq.{succ u3} S₁ (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g (OfNat.ofNat.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) 1 (One.toOfNat1.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toOne.{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)))))) (OfNat.ofNat.{u3} S₁ 1 (One.toOfNat1.{u3} S₁ (Semiring.toOne.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))))
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_one MvPolynomial.eval₂_oneₓ'. -/
@[simp]
theorem eval₂_one : (1 : MvPolynomial σ R).eval₂ f g = 1 :=
(eval₂_C _ _ _).trans f.map_one
#align mv_polynomial.eval₂_one MvPolynomial.eval₂_one
-/- warning: mv_polynomial.eval₂_X -> MvPolynomial.eval₂_X is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : σ -> S₁) (n : σ), Eq.{succ u2} S₁ (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g (MvPolynomial.X.{u1, u3} R σ _inst_1 n)) (g n)
-but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁) (n : σ), Eq.{succ u3} S₁ (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g (MvPolynomial.X.{u2, u1} R σ _inst_1 n)) (g n)
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_X MvPolynomial.eval₂_Xₓ'. -/
@[simp]
theorem eval₂_X (n) : (X n).eval₂ f g = g n := by
simp [eval₂_monomial, f.map_one, X, prod_single_index, pow_one]
#align mv_polynomial.eval₂_X MvPolynomial.eval₂_X
-/- warning: mv_polynomial.eval₂_mul_monomial -> MvPolynomial.eval₂_mul_monomial is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_mul_monomial MvPolynomial.eval₂_mul_monomialₓ'. -/
theorem eval₂_mul_monomial :
∀ {s a}, (p * monomial s a).eval₂ f g = p.eval₂ f g * f a * s.Prod fun n e => g n ^ e := by
classical
@@ -1607,19 +992,10 @@ theorem eval₂_mul_monomial :
#align mv_polynomial.eval₂_mul_monomial MvPolynomial.eval₂_mul_monomial
-/- warning: mv_polynomial.eval₂_mul_C -> MvPolynomial.eval₂_mul_C is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_mul_C MvPolynomial.eval₂_mul_Cₓ'. -/
theorem eval₂_mul_C : (p * C a).eval₂ f g = p.eval₂ f g * f a :=
(eval₂_mul_monomial _ _).trans <| by simp
#align mv_polynomial.eval₂_mul_C MvPolynomial.eval₂_mul_C
-/- warning: mv_polynomial.eval₂_mul -> MvPolynomial.eval₂_mul is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] {q : MvPolynomial.{u3, u1} σ R _inst_1} (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : σ -> S₁) {p : MvPolynomial.{u3, u1} σ R _inst_1}, Eq.{succ u2} S₁ (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g (HMul.hMul.{max u3 u1, max u3 u1, max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u1} σ R _inst_1) (instHMul.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (Distrib.toHasMul.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) p q)) (HMul.hMul.{u2, u2, u2} S₁ S₁ S₁ (instHMul.{u2} S₁ (Distrib.toHasMul.{u2} S₁ (NonUnitalNonAssocSemiring.toDistrib.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))))) (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g p) (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g q))
-but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] {q : MvPolynomial.{u1, u2} σ R _inst_1} (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁) {p : MvPolynomial.{u1, u2} σ R _inst_1}, Eq.{succ u3} S₁ (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) p q)) (HMul.hMul.{u3, u3, u3} S₁ S₁ S₁ (instHMul.{u3} S₁ (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))))) (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g p) (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g q))
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_mul MvPolynomial.eval₂_mulₓ'. -/
@[simp]
theorem eval₂_mul : ∀ {p}, (p * q).eval₂ f g = p.eval₂ f g * q.eval₂ f g :=
by
@@ -1629,12 +1005,6 @@ theorem eval₂_mul : ∀ {p}, (p * q).eval₂ f g = p.eval₂ f g * q.eval₂ f
· simp (config := { contextual := true }) [X, eval₂_monomial, eval₂_mul_monomial, ← mul_assoc]
#align mv_polynomial.eval₂_mul MvPolynomial.eval₂_mul
-/- warning: mv_polynomial.eval₂_pow -> MvPolynomial.eval₂_pow is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : σ -> S₁) {p : MvPolynomial.{u3, u1} σ R _inst_1} {n : Nat}, Eq.{succ u2} S₁ (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g (HPow.hPow.{max u3 u1, 0, max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) Nat (MvPolynomial.{u3, u1} σ R _inst_1) (instHPow.{max u3 u1, 0} (MvPolynomial.{u3, u1} σ R _inst_1) Nat (Monoid.Pow.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MonoidWithZero.toMonoid.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) p n)) (HPow.hPow.{u2, 0, u2} S₁ Nat S₁ (instHPow.{u2, 0} S₁ Nat (Monoid.Pow.{u2} S₁ (MonoidWithZero.toMonoid.{u2} S₁ (Semiring.toMonoidWithZero.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))))) (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g p) n)
-but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁) {p : MvPolynomial.{u1, u2} σ R _inst_1} {n : Nat}, Eq.{succ u3} S₁ (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g (HPow.hPow.{max u2 u1, 0, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (MvPolynomial.{u1, u2} σ R _inst_1) (instHPow.{max u2 u1, 0} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (Monoid.Pow.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) p n)) (HPow.hPow.{u3, 0, u3} S₁ Nat S₁ (instHPow.{u3, 0} S₁ Nat (Monoid.Pow.{u3} S₁ (MonoidWithZero.toMonoid.{u3} S₁ (Semiring.toMonoidWithZero.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))))) (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g p) n)
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_pow MvPolynomial.eval₂_powₓ'. -/
@[simp]
theorem eval₂_pow {p : MvPolynomial σ R} : ∀ {n : ℕ}, (p ^ n).eval₂ f g = p.eval₂ f g ^ n
| 0 => by rw [pow_zero, pow_zero]; exact eval₂_one _ _
@@ -1653,20 +1023,11 @@ def eval₂Hom (f : R →+* S₁) (g : σ → S₁) : MvPolynomial σ R →+* S
#align mv_polynomial.eval₂_hom MvPolynomial.eval₂Hom
-/
-/- warning: mv_polynomial.coe_eval₂_hom -> MvPolynomial.coe_eval₂Hom is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : σ -> S₁), Eq.{max (succ (max u3 u1)) (succ u2)} ((MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (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))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (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))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) (RingHom.hasCoeToFun.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (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))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (MvPolynomial.eval₂Hom.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g)) (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g)
-but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁), Eq.{max (max (succ u2) (succ u3)) (succ u1)} (forall (ᾰ : MvPolynomial.{u1, u2} σ R _inst_1), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) ᾰ) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} 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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g)) (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g)
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.coe_eval₂_hom MvPolynomial.coe_eval₂Homₓ'. -/
@[simp]
theorem coe_eval₂Hom (f : R →+* S₁) (g : σ → S₁) : ⇑(eval₂Hom f g) = eval₂ f g :=
rfl
#align mv_polynomial.coe_eval₂_hom MvPolynomial.coe_eval₂Hom
-/- warning: mv_polynomial.eval₂_hom_congr -> MvPolynomial.eval₂Hom_congr is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_hom_congr MvPolynomial.eval₂Hom_congrₓ'. -/
theorem eval₂Hom_congr {f₁ f₂ : R →+* S₁} {g₁ g₂ : σ → S₁} {p₁ p₂ : MvPolynomial σ R} :
f₁ = f₂ → g₁ = g₂ → p₁ = p₂ → eval₂Hom f₁ g₁ p₁ = eval₂Hom f₂ g₂ p₂ := by
rintro rfl rfl rfl <;> rfl
@@ -1674,31 +1035,16 @@ theorem eval₂Hom_congr {f₁ f₂ : R →+* S₁} {g₁ g₂ : σ → S₁} {p
end
-/- warning: mv_polynomial.eval₂_hom_C -> MvPolynomial.eval₂Hom_C is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_hom_C MvPolynomial.eval₂Hom_Cₓ'. -/
@[simp]
theorem eval₂Hom_C (f : R →+* S₁) (g : σ → S₁) (r : R) : eval₂Hom f g (C r) = f r :=
eval₂_C f g r
#align mv_polynomial.eval₂_hom_C MvPolynomial.eval₂Hom_C
-/- warning: mv_polynomial.eval₂_hom_X' -> MvPolynomial.eval₂Hom_X' is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : σ -> S₁) (i : σ), Eq.{succ u2} S₁ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (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))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (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))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) (RingHom.hasCoeToFun.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (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))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (MvPolynomial.eval₂Hom.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g) (MvPolynomial.X.{u1, u3} R σ _inst_1 i)) (g i)
-but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁) (i : σ), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) (MvPolynomial.X.{u2, u1} R σ _inst_1 i)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} 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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g) (MvPolynomial.X.{u2, u1} R σ _inst_1 i)) (g i)
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_hom_X' MvPolynomial.eval₂Hom_X'ₓ'. -/
@[simp]
theorem eval₂Hom_X' (f : R →+* S₁) (g : σ → S₁) (i : σ) : eval₂Hom f g (X i) = g i :=
eval₂_X f g i
#align mv_polynomial.eval₂_hom_X' MvPolynomial.eval₂Hom_X'
-/- warning: mv_polynomial.comp_eval₂_hom -> MvPolynomial.comp_eval₂Hom is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S₁ : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u4}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : CommSemiring.{u3} S₂] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : σ -> S₁) (φ : RingHom.{u2, u3} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))), Eq.{max (succ (max u4 u1)) (succ u3)} (RingHom.{max u4 u1, u3} (MvPolynomial.{u4, u1} σ R _inst_1) S₂ (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))) (RingHom.comp.{max u4 u1, u2, u3} (MvPolynomial.{u4, u1} σ R _inst_1) S₁ S₂ (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3)) φ (MvPolynomial.eval₂Hom.{u1, u2, u4} R S₁ σ _inst_1 _inst_2 f g)) (MvPolynomial.eval₂Hom.{u1, u3, u4} R S₂ σ _inst_1 _inst_3 (RingHom.comp.{u1, u2, u3} R S₁ S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3)) φ f) (fun (i : σ) => coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (RingHom.{u2, u3} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))) (fun (_x : RingHom.{u2, u3} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))) => S₁ -> S₂) (RingHom.hasCoeToFun.{u2, u3} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))) φ (g i)))
-but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {S₂ : Type.{u4}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : CommSemiring.{u4} S₂] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁) (φ : RingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))), Eq.{max (max (succ u2) (succ u4)) (succ u1)} (RingHom.{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_3))) (RingHom.comp.{max u1 u2, u3, u4} (MvPolynomial.{u1, u2} σ R _inst_1) S₁ 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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)) φ (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g)) (MvPolynomial.eval₂Hom.{u2, u4, u1} R S₂ σ _inst_1 _inst_3 (RingHom.comp.{u2, u3, u4} R S₁ S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)) φ f) (fun (i : σ) => FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (RingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) S₁ (fun (_x : S₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S₁) => S₂) _x) (MulHomClass.toFunLike.{max u3 u4, u3, u4} (RingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) S₁ S₂ (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{u4} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₂ (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u4, u3, u4} (RingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) S₁ S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₂ (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u4, u3, u4} (RingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)) (RingHom.instRingHomClassRingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)))))) φ (g i)))
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.comp_eval₂_hom MvPolynomial.comp_eval₂Homₓ'. -/
@[simp]
theorem comp_eval₂Hom [CommSemiring S₂] (f : R →+* S₁) (g : σ → S₁) (φ : S₁ →+* S₂) :
φ.comp (eval₂Hom f g) = eval₂Hom (φ.comp f) fun i => φ (g i) :=
@@ -1708,17 +1054,11 @@ theorem comp_eval₂Hom [CommSemiring S₂] (f : R →+* S₁) (g : σ → S₁)
· intro i; rw [RingHom.comp_apply, eval₂_hom_X', eval₂_hom_X']
#align mv_polynomial.comp_eval₂_hom MvPolynomial.comp_eval₂Hom
-/- warning: mv_polynomial.map_eval₂_hom -> MvPolynomial.map_eval₂Hom is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.map_eval₂_hom MvPolynomial.map_eval₂Homₓ'. -/
theorem map_eval₂Hom [CommSemiring S₂] (f : R →+* S₁) (g : σ → S₁) (φ : S₁ →+* S₂)
(p : MvPolynomial σ R) : φ (eval₂Hom f g p) = eval₂Hom (φ.comp f) (fun i => φ (g i)) p := by
rw [← comp_eval₂_hom]; rfl
#align mv_polynomial.map_eval₂_hom MvPolynomial.map_eval₂Hom
-/- warning: mv_polynomial.eval₂_hom_monomial -> MvPolynomial.eval₂Hom_monomial is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_hom_monomial MvPolynomial.eval₂Hom_monomialₓ'. -/
theorem eval₂Hom_monomial (f : R →+* S₁) (g : σ → S₁) (d : σ →₀ ℕ) (r : R) :
eval₂Hom f g (monomial d r) = f r * d.Prod fun i k => g i ^ k := by
simp only [monomial_eq, RingHom.map_mul, eval₂_hom_C, Finsupp.prod, RingHom.map_prod,
@@ -1727,9 +1067,6 @@ theorem eval₂Hom_monomial (f : R →+* S₁) (g : σ → S₁) (d : σ →₀
section
-/- warning: mv_polynomial.eval₂_comp_left -> MvPolynomial.eval₂_comp_left is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_comp_left MvPolynomial.eval₂_comp_leftₓ'. -/
theorem eval₂_comp_left {S₂} [CommSemiring S₂] (k : S₁ →+* S₂) (f : R →+* S₁) (g : σ → S₁) (p) :
k (eval₂ f g p) = eval₂ (k.comp f) (k ∘ g) p := by
apply MvPolynomial.induction_on p <;>
@@ -1738,24 +1075,12 @@ theorem eval₂_comp_left {S₂} [CommSemiring S₂] (k : S₁ →+* S₂) (f :
end
-/- warning: mv_polynomial.eval₂_eta -> MvPolynomial.eval₂_eta is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (p : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{succ (max u2 u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.eval₂.{u1, max u2 u1, u2} R (MvPolynomial.{u2, u1} σ R _inst_1) σ _inst_1 (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1) (MvPolynomial.C.{u1, u2} R σ _inst_1) (MvPolynomial.X.{u1, u2} R σ _inst_1) p) p
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u1, u2} σ R _inst_1) (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) (MvPolynomial.X.{u2, u1} R σ _inst_1) p) p
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_eta MvPolynomial.eval₂_etaₓ'. -/
@[simp]
theorem eval₂_eta (p : MvPolynomial σ R) : eval₂ C X p = p := by
apply MvPolynomial.induction_on p <;>
simp (config := { contextual := true }) [eval₂_add, eval₂_mul]
#align mv_polynomial.eval₂_eta MvPolynomial.eval₂_eta
-/- warning: mv_polynomial.eval₂_congr -> MvPolynomial.eval₂_congr is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] {p : MvPolynomial.{u3, u1} σ R _inst_1} (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g₁ : σ -> S₁) (g₂ : σ -> S₁), (forall {i : σ} {c : Finsupp.{u3, 0} σ Nat Nat.hasZero}, (Membership.Mem.{u3, u3} σ (Finset.{u3} σ) (Finset.hasMem.{u3} σ) i (Finsupp.support.{u3, 0} σ Nat Nat.hasZero c)) -> (Ne.{succ u1} R (MvPolynomial.coeff.{u1, u3} R σ _inst_1 c p) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) -> (Eq.{succ u2} S₁ (g₁ i) (g₂ i))) -> (Eq.{succ u2} S₁ (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g₁ p) (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g₂ p))
-but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] {p : MvPolynomial.{u1, u2} σ R _inst_1} (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g₁ : σ -> S₁) (g₂ : σ -> S₁), (forall {i : σ} {c : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)}, (Membership.mem.{u1, u1} σ (Finset.{u1} σ) (Finset.instMembershipFinset.{u1} σ) i (Finsupp.support.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) c)) -> (Ne.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 c p) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) -> (Eq.{succ u3} S₁ (g₁ i) (g₂ i))) -> (Eq.{succ u3} S₁ (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g₁ p) (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g₂ p))
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_congr MvPolynomial.eval₂_congrₓ'. -/
theorem eval₂_congr (g₁ g₂ : σ → S₁)
(h : ∀ {i : σ} {c : σ →₀ ℕ}, i ∈ c.support → coeff c p ≠ 0 → g₁ i = g₂ i) :
p.eval₂ f g₁ = p.eval₂ f g₂ := by
@@ -1767,24 +1092,12 @@ theorem eval₂_congr (g₁ g₂ : σ → S₁)
rwa [Finsupp.mem_support_iff] at hc
#align mv_polynomial.eval₂_congr MvPolynomial.eval₂_congr
-/- warning: mv_polynomial.eval₂_prod -> MvPolynomial.eval₂_prod is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S₁ : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u4}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : σ -> S₁) (s : Finset.{u3} S₂) (p : S₂ -> (MvPolynomial.{u4, u1} σ R _inst_1)), Eq.{succ u2} S₁ (MvPolynomial.eval₂.{u1, u2, u4} R S₁ σ _inst_1 _inst_2 f g (Finset.prod.{max u4 u1, u3} (MvPolynomial.{u4, u1} σ R _inst_1) S₂ (CommSemiring.toCommMonoid.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1)) s (fun (x : S₂) => p x))) (Finset.prod.{u2, u3} S₁ S₂ (CommSemiring.toCommMonoid.{u2} S₁ _inst_2) s (fun (x : S₂) => MvPolynomial.eval₂.{u1, u2, u4} R S₁ σ _inst_1 _inst_2 f g (p x)))
-but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {S₂ : Type.{u4}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁) (s : Finset.{u4} S₂) (p : S₂ -> (MvPolynomial.{u1, u2} σ R _inst_1)), Eq.{succ u3} S₁ (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g (Finset.prod.{max u2 u1, u4} (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (CommSemiring.toCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) s (fun (x : S₂) => p x))) (Finset.prod.{u3, u4} S₁ S₂ (CommSemiring.toCommMonoid.{u3} S₁ _inst_2) s (fun (x : S₂) => MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g (p x)))
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_prod MvPolynomial.eval₂_prodₓ'. -/
@[simp]
theorem eval₂_prod (s : Finset S₂) (p : S₂ → MvPolynomial σ R) :
eval₂ f g (∏ x in s, p x) = ∏ x in s, eval₂ f g (p x) :=
(eval₂Hom f g).map_prod _ s
#align mv_polynomial.eval₂_prod MvPolynomial.eval₂_prod
-/- warning: mv_polynomial.eval₂_sum -> MvPolynomial.eval₂_sum is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S₁ : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u4}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : σ -> S₁) (s : Finset.{u3} S₂) (p : S₂ -> (MvPolynomial.{u4, u1} σ R _inst_1)), Eq.{succ u2} S₁ (MvPolynomial.eval₂.{u1, u2, u4} R S₁ σ _inst_1 _inst_2 f g (Finset.sum.{max u4 u1, u3} (MvPolynomial.{u4, u1} σ R _inst_1) S₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1))))) s (fun (x : S₂) => p x))) (Finset.sum.{u2, u3} S₁ S₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))) s (fun (x : S₂) => MvPolynomial.eval₂.{u1, u2, u4} R S₁ σ _inst_1 _inst_2 f g (p x)))
-but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {S₂ : Type.{u4}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁) (s : Finset.{u4} S₂) (p : S₂ -> (MvPolynomial.{u1, u2} σ R _inst_1)), Eq.{succ u3} S₁ (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g (Finset.sum.{max u2 u1, u4} (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) s (fun (x : S₂) => p x))) (Finset.sum.{u3, u4} S₁ S₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) s (fun (x : S₂) => MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g (p x)))
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_sum MvPolynomial.eval₂_sumₓ'. -/
@[simp]
theorem eval₂_sum (s : Finset S₂) (p : S₂ → MvPolynomial σ R) :
eval₂ f g (∑ x in s, p x) = ∑ x in s, eval₂ f g (p x) :=
@@ -1793,12 +1106,6 @@ theorem eval₂_sum (s : Finset S₂) (p : S₂ → MvPolynomial σ R) :
attribute [to_additive] eval₂_prod
-/- warning: mv_polynomial.eval₂_assoc -> MvPolynomial.eval₂_assoc is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S₁ : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u4}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : σ -> S₁) (q : S₂ -> (MvPolynomial.{u4, u1} σ R _inst_1)) (p : MvPolynomial.{u3, u1} S₂ R _inst_1), Eq.{succ u2} S₁ (MvPolynomial.eval₂.{u1, u2, u3} R S₁ S₂ _inst_1 _inst_2 f (fun (t : S₂) => MvPolynomial.eval₂.{u1, u2, u4} R S₁ σ _inst_1 _inst_2 f g (q t)) p) (MvPolynomial.eval₂.{u1, u2, u4} R S₁ σ _inst_1 _inst_2 f g (MvPolynomial.eval₂.{u1, max u4 u1, u3} R (MvPolynomial.{u4, u1} σ R _inst_1) S₂ _inst_1 (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1) (MvPolynomial.C.{u1, u4} R σ _inst_1) q p))
-but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {S₂ : Type.{u4}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁) (q : S₂ -> (MvPolynomial.{u1, u2} σ R _inst_1)) (p : MvPolynomial.{u4, u2} S₂ R _inst_1), Eq.{succ u3} S₁ (MvPolynomial.eval₂.{u2, u3, u4} R S₁ S₂ _inst_1 _inst_2 f (fun (t : S₂) => MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g (q t)) p) (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g (MvPolynomial.eval₂.{u2, max u2 u1, u4} R (MvPolynomial.{u1, u2} σ R _inst_1) S₂ _inst_1 (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1) (MvPolynomial.C.{u2, u1} R σ _inst_1) q p))
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_assoc MvPolynomial.eval₂_assocₓ'. -/
theorem eval₂_assoc (q : S₂ → MvPolynomial σ R) (p : MvPolynomial S₂ R) :
eval₂ f (fun t => eval₂ f g (q t)) p = eval₂ f g (eval₂ C q p) :=
by
@@ -1819,73 +1126,40 @@ def eval (f : σ → R) : MvPolynomial σ R →+* R :=
#align mv_polynomial.eval MvPolynomial.eval
-/
-/- warning: mv_polynomial.eval_eq -> MvPolynomial.eval_eq is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (x : σ -> R) (f : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{succ u1} R (coeFn.{max (succ (max u2 u1)) (succ u1), max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u2, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.eval.{u1, u2} R σ _inst_1 x) f) (Finset.sum.{u1, u2} R (Finsupp.{u2, 0} σ Nat Nat.hasZero) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MvPolynomial.support.{u1, u2} R σ _inst_1 f) (fun (d : Finsupp.{u2, 0} σ Nat Nat.hasZero) => HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (MvPolynomial.coeff.{u1, u2} R σ _inst_1 d f) (Finset.prod.{u1, u2} R σ (CommSemiring.toCommMonoid.{u1} R _inst_1) (Finsupp.support.{u2, 0} σ Nat Nat.hasZero d) (fun (i : σ) => HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (x i) (coeFn.{succ u2, succ u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (fun (_x : Finsupp.{u2, 0} σ Nat Nat.hasZero) => σ -> Nat) (Finsupp.coeFun.{u2, 0} σ Nat Nat.hasZero) d i)))))
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (x : σ -> R) (f : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) f) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.eval.{u2, u1} R σ _inst_1 x) f) (Finset.sum.{u2, u1} R (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.support.{u2, u1} R σ _inst_1 f) (fun (d : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f) (Finset.prod.{u2, u1} R σ (CommSemiring.toCommMonoid.{u2} R _inst_1) (Finsupp.support.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) d) (fun (i : σ) => HPow.hPow.{u2, 0, u2} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : σ) => Nat) i) R (instHPow.{u2, 0} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : σ) => Nat) i) (Monoid.Pow.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (x i) (FunLike.coe.{succ u1, succ u1, 1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) σ (fun (_x : σ) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : σ) => Nat) _x) (Finsupp.funLike.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) d i)))))
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval_eq MvPolynomial.eval_eqₓ'. -/
theorem eval_eq (x : σ → R) (f : MvPolynomial σ R) :
eval x f = ∑ d in f.support, f.coeff d * ∏ i in d.support, x i ^ d i :=
rfl
#align mv_polynomial.eval_eq MvPolynomial.eval_eq
-/- warning: mv_polynomial.eval_eq' -> MvPolynomial.eval_eq' is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_3 : Fintype.{u2} σ] (x : σ -> R) (f : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{succ u1} R (coeFn.{max (succ (max u2 u1)) (succ u1), max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u2, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.eval.{u1, u2} R σ _inst_1 x) f) (Finset.sum.{u1, u2} R (Finsupp.{u2, 0} σ Nat Nat.hasZero) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MvPolynomial.support.{u1, u2} R σ _inst_1 f) (fun (d : Finsupp.{u2, 0} σ Nat Nat.hasZero) => HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (MvPolynomial.coeff.{u1, u2} R σ _inst_1 d f) (Finset.prod.{u1, u2} R σ (CommSemiring.toCommMonoid.{u1} R _inst_1) (Finset.univ.{u2} σ _inst_3) (fun (i : σ) => HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (x i) (coeFn.{succ u2, succ u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (fun (_x : Finsupp.{u2, 0} σ Nat Nat.hasZero) => σ -> Nat) (Finsupp.coeFun.{u2, 0} σ Nat Nat.hasZero) d i)))))
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_3 : Fintype.{u1} σ] (x : σ -> R) (f : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) f) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.eval.{u2, u1} R σ _inst_1 x) f) (Finset.sum.{u2, u1} R (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.support.{u2, u1} R σ _inst_1 f) (fun (d : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f) (Finset.prod.{u2, u1} R σ (CommSemiring.toCommMonoid.{u2} R _inst_1) (Finset.univ.{u1} σ _inst_3) (fun (i : σ) => HPow.hPow.{u2, 0, u2} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : σ) => Nat) i) R (instHPow.{u2, 0} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : σ) => Nat) i) (Monoid.Pow.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (x i) (FunLike.coe.{succ u1, succ u1, 1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) σ (fun (_x : σ) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : σ) => Nat) _x) (Finsupp.funLike.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) d i)))))
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval_eq' MvPolynomial.eval_eq'ₓ'. -/
theorem eval_eq' [Fintype σ] (x : σ → R) (f : MvPolynomial σ R) :
eval x f = ∑ d in f.support, f.coeff d * ∏ i, x i ^ d i :=
eval₂_eq' (RingHom.id R) x f
#align mv_polynomial.eval_eq' MvPolynomial.eval_eq'
-/- warning: mv_polynomial.eval_monomial -> MvPolynomial.eval_monomial is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval_monomial MvPolynomial.eval_monomialₓ'. -/
theorem eval_monomial : eval f (monomial s a) = a * s.Prod fun n e => f n ^ e :=
eval₂_monomial _ _
#align mv_polynomial.eval_monomial MvPolynomial.eval_monomial
-/- warning: mv_polynomial.eval_C -> MvPolynomial.eval_C is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval_C MvPolynomial.eval_Cₓ'. -/
@[simp]
theorem eval_C : ∀ a, eval f (C a) = a :=
eval₂_C _ _
#align mv_polynomial.eval_C MvPolynomial.eval_C
-/- warning: mv_polynomial.eval_X -> MvPolynomial.eval_X is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {f : σ -> R} (n : σ), Eq.{succ u1} R (coeFn.{max (succ (max u2 u1)) (succ u1), max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u2, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.eval.{u1, u2} R σ _inst_1 f) (MvPolynomial.X.{u1, u2} R σ _inst_1 n)) (f n)
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {f : σ -> R} (n : σ), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) (MvPolynomial.X.{u2, u1} R σ _inst_1 n)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.eval.{u2, u1} R σ _inst_1 f) (MvPolynomial.X.{u2, u1} R σ _inst_1 n)) (f n)
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval_X MvPolynomial.eval_Xₓ'. -/
@[simp]
theorem eval_X : ∀ n, eval f (X n) = f n :=
eval₂_X _ _
#align mv_polynomial.eval_X MvPolynomial.eval_X
-/- warning: mv_polynomial.smul_eval -> MvPolynomial.smul_eval is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.smul_eval MvPolynomial.smul_evalₓ'. -/
@[simp]
theorem smul_eval (x) (p : MvPolynomial σ R) (s) : eval x (s • p) = s * eval x p := by
rw [smul_eq_C_mul, (eval x).map_mul, eval_C]
#align mv_polynomial.smul_eval MvPolynomial.smul_eval
-/- warning: mv_polynomial.eval_sum -> MvPolynomial.eval_sum is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval_sum MvPolynomial.eval_sumₓ'. -/
theorem eval_sum {ι : Type _} (s : Finset ι) (f : ι → MvPolynomial σ R) (g : σ → R) :
eval g (∑ i in s, f i) = ∑ i in s, eval g (f i) :=
(eval g).map_sum _ _
#align mv_polynomial.eval_sum MvPolynomial.eval_sum
-/- warning: mv_polynomial.eval_prod -> MvPolynomial.eval_prod is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval_prod MvPolynomial.eval_prodₓ'. -/
@[to_additive]
theorem eval_prod {ι : Type _} (s : Finset ι) (f : ι → MvPolynomial σ R) (g : σ → R) :
eval g (∏ i in s, f i) = ∏ i in s, eval g (f i) :=
@@ -1893,9 +1167,6 @@ theorem eval_prod {ι : Type _} (s : Finset ι) (f : ι → MvPolynomial σ R) (
#align mv_polynomial.eval_prod MvPolynomial.eval_prod
#align mv_polynomial.eval_sum MvPolynomial.eval_sum
-/- warning: mv_polynomial.eval_assoc -> MvPolynomial.eval_assoc is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval_assoc MvPolynomial.eval_assocₓ'. -/
theorem eval_assoc {τ} (f : σ → MvPolynomial τ R) (g : τ → R) (p : MvPolynomial σ R) :
eval (eval g ∘ f) p = eval g (eval₂ C f p) :=
by
@@ -1904,20 +1175,11 @@ theorem eval_assoc {τ} (f : σ → MvPolynomial τ R) (g : τ → R) (p : MvPol
congr with a; simp
#align mv_polynomial.eval_assoc MvPolynomial.eval_assoc
-/- warning: mv_polynomial.eval₂_id -> MvPolynomial.eval₂_id is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (p : MvPolynomial.{u2, u1} σ R _inst_1) (g : σ -> R), Eq.{succ u1} R (MvPolynomial.eval₂.{u1, u1, u2} R R σ _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) g p) (coeFn.{max (succ (max u2 u1)) (succ u1), max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u2, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.eval.{u1, u2} R σ _inst_1 g) p)
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {p : σ -> R} (g : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u2} R (MvPolynomial.eval₂.{u2, u2, u1} R R σ _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) p g) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.eval.{u2, u1} R σ _inst_1 p) g)
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_id MvPolynomial.eval₂_idₓ'. -/
@[simp]
theorem eval₂_id (p : MvPolynomial σ R) (g : σ → R) : eval₂ (RingHom.id _) g p = eval g p :=
rfl
#align mv_polynomial.eval₂_id MvPolynomial.eval₂_id
-/- warning: mv_polynomial.eval_eval₂ -> MvPolynomial.eval_eval₂ is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval_eval₂ MvPolynomial.eval_eval₂ₓ'. -/
theorem eval_eval₂ {τ : Type _} (f : R →+* MvPolynomial τ S₁) (g : σ → MvPolynomial τ S₁)
(p : MvPolynomial σ R) (x : τ → S₁) :
eval x (eval₂ f g p) = eval₂ ((eval x).comp f) (fun s => eval x (g s)) p :=
@@ -1943,46 +1205,25 @@ def map : MvPolynomial σ R →+* MvPolynomial σ S₁ :=
#align mv_polynomial.map MvPolynomial.map
-/
-/- warning: mv_polynomial.map_monomial -> MvPolynomial.map_monomial is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.map_monomial MvPolynomial.map_monomialₓ'. -/
@[simp]
theorem map_monomial (s : σ →₀ ℕ) (a : R) : map f (monomial s a) = monomial s (f a) :=
(eval₂_monomial _ _).trans monomial_eq.symm
#align mv_polynomial.map_monomial MvPolynomial.map_monomial
-/- warning: mv_polynomial.map_C -> MvPolynomial.map_C is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.map_C MvPolynomial.map_Cₓ'. -/
@[simp]
theorem map_C : ∀ a : R, map f (C a : MvPolynomial σ R) = C (f a) :=
map_monomial _ _
#align mv_polynomial.map_C MvPolynomial.map_C
-/- warning: mv_polynomial.map_X -> MvPolynomial.map_X is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (n : σ), Eq.{max (succ u3) (succ u2)} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (coeFn.{max (succ (max u3 u1)) (succ (max u3 u2)), max (succ (max u3 u1)) (succ (max u3 u2))} (RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (fun (_x : RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> (MvPolynomial.{u3, u2} σ S₁ _inst_2)) (RingHom.hasCoeToFun.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (MvPolynomial.map.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f) (MvPolynomial.X.{u1, u3} R σ _inst_1 n)) (MvPolynomial.X.{u2, u3} S₁ σ _inst_2 n)
-but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (n : σ), Eq.{max (succ u3) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.X.{u2, u1} R σ _inst_1 n)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f) (MvPolynomial.X.{u2, u1} R σ _inst_1 n)) (MvPolynomial.X.{u3, u1} S₁ σ _inst_2 n)
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.map_X MvPolynomial.map_Xₓ'. -/
@[simp]
theorem map_X : ∀ n : σ, map f (X n : MvPolynomial σ R) = X n :=
eval₂_X _ _
#align mv_polynomial.map_X MvPolynomial.map_X
-/- warning: mv_polynomial.map_id -> MvPolynomial.map_id is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (p : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{succ (max u2 u1), succ (max u2 u1)} (RingHom.{max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (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))) (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)))) (fun (_x : RingHom.{max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (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))) (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)))) => (MvPolynomial.{u2, u1} σ R _inst_1) -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (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))) (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)))) (MvPolynomial.map.{u1, u1, u2} R R σ _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) p) p
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u2} σ R _inst_1) p) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (RingHom.{max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (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))) (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.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (MulHomClass.toFunLike.{max u2 u1, max u2 u1, max u2 u1} (RingHom.{max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (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))) (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.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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 u2 u1, max u2 u1, max u2 u1} (RingHom.{max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (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))) (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.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{max u2 u1} (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 u2 u1, max u2 u1, max u2 u1} (RingHom.{max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (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))) (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.{u1, u2} σ R _inst_1) (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))) (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.{max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (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))) (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.map.{u2, u2, u1} R R σ _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) p) p
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.map_id MvPolynomial.map_idₓ'. -/
theorem map_id : ∀ p : MvPolynomial σ R, map (RingHom.id R) p = p :=
eval₂_eta
#align mv_polynomial.map_id MvPolynomial.map_id
-/- warning: mv_polynomial.map_map -> MvPolynomial.map_map is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.map_map MvPolynomial.map_mapₓ'. -/
theorem map_map [CommSemiring S₂] (g : S₁ →+* S₂) (p : MvPolynomial σ R) :
map g (map f p) = map (g.comp f) p :=
(eval₂_comp_left (map g) (C.comp f) X p).trans <|
@@ -1992,9 +1233,6 @@ theorem map_map [CommSemiring S₂] (g : S₁ →+* S₂) (p : MvPolynomial σ R
· ext1 n; simp only [map_X, comp_app]
#align mv_polynomial.map_map MvPolynomial.map_map
-/- warning: mv_polynomial.eval₂_eq_eval_map -> MvPolynomial.eval₂_eq_eval_map is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_eq_eval_map MvPolynomial.eval₂_eq_eval_mapₓ'. -/
theorem eval₂_eq_eval_map (g : σ → S₁) (p : MvPolynomial σ R) : p.eval₂ f g = eval g (map f p) :=
by
unfold map eval; simp only [coe_eval₂_hom]
@@ -2006,9 +1244,6 @@ theorem eval₂_eq_eval_map (g : σ → S₁) (p : MvPolynomial σ R) : p.eval
· ext1 n; simp only [comp_app, eval₂_X]
#align mv_polynomial.eval₂_eq_eval_map MvPolynomial.eval₂_eq_eval_map
-/- warning: mv_polynomial.eval₂_comp_right -> MvPolynomial.eval₂_comp_right is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_comp_right MvPolynomial.eval₂_comp_rightₓ'. -/
theorem eval₂_comp_right {S₂} [CommSemiring S₂] (k : S₁ →+* S₂) (f : R →+* S₁) (g : σ → S₁) (p) :
k (eval₂ f g p) = eval₂ k (k ∘ g) (map f p) :=
by
@@ -2019,9 +1254,6 @@ theorem eval₂_comp_right {S₂} [CommSemiring S₂] (k : S₁ →+* S₂) (f :
rw [eval₂_mul, k.map_mul, (map f).map_mul, eval₂_mul, map_X, hp, eval₂_X, eval₂_X]
#align mv_polynomial.eval₂_comp_right MvPolynomial.eval₂_comp_right
-/- warning: mv_polynomial.map_eval₂ -> MvPolynomial.map_eval₂ is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.map_eval₂ MvPolynomial.map_eval₂ₓ'. -/
theorem map_eval₂ (f : R →+* S₁) (g : S₂ → MvPolynomial S₃ R) (p : MvPolynomial S₂ R) :
map f (eval₂ C g p) = eval₂ C (map f ∘ g) (map f p) :=
by
@@ -2032,9 +1264,6 @@ theorem map_eval₂ (f : R →+* S₁) (g : S₂ → MvPolynomial S₃ R) (p : M
rw [eval₂_mul, (map f).map_mul, hp, (map f).map_mul, map_X, eval₂_mul, eval₂_X, eval₂_X]
#align mv_polynomial.map_eval₂ MvPolynomial.map_eval₂
-/- warning: mv_polynomial.coeff_map -> MvPolynomial.coeff_map is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.coeff_map MvPolynomial.coeff_mapₓ'. -/
theorem coeff_map (p : MvPolynomial σ R) : ∀ m : σ →₀ ℕ, coeff m (map f p) = f (coeff m p) := by
classical
apply MvPolynomial.induction_on p <;> clear p
@@ -2046,9 +1275,6 @@ theorem coeff_map (p : MvPolynomial σ R) : ∀ m : σ →₀ ℕ, coeff m (map
rw [f.map_zero]
#align mv_polynomial.coeff_map MvPolynomial.coeff_map
-/- warning: mv_polynomial.map_injective -> MvPolynomial.map_injective is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.map_injective MvPolynomial.map_injectiveₓ'. -/
theorem map_injective (hf : Function.Injective f) :
Function.Injective (map f : MvPolynomial σ R → MvPolynomial σ S₁) :=
by
@@ -2058,9 +1284,6 @@ theorem map_injective (hf : Function.Injective f) :
exact hf (h m)
#align mv_polynomial.map_injective MvPolynomial.map_injective
-/- warning: mv_polynomial.map_surjective -> MvPolynomial.map_surjective is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.map_surjective MvPolynomial.map_surjectiveₓ'. -/
theorem map_surjective (hf : Function.Surjective f) :
Function.Surjective (map f : MvPolynomial σ R → MvPolynomial σ S₁) := fun p =>
by
@@ -2072,77 +1295,47 @@ theorem map_surjective (hf : Function.Surjective f) :
exact ⟨a + b, RingHom.map_add _ _ _⟩
#align mv_polynomial.map_surjective MvPolynomial.map_surjective
-/- warning: mv_polynomial.map_left_inverse -> MvPolynomial.map_leftInverse is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.map_left_inverse MvPolynomial.map_leftInverseₓ'. -/
/-- If `f` is a left-inverse of `g` then `map f` is a left-inverse of `map g`. -/
theorem map_leftInverse {f : R →+* S₁} {g : S₁ →+* R} (hf : Function.LeftInverse f g) :
Function.LeftInverse (map f : MvPolynomial σ R → MvPolynomial σ S₁) (map g) := fun x => by
rw [map_map, (RingHom.ext hf : f.comp g = RingHom.id _), map_id]
#align mv_polynomial.map_left_inverse MvPolynomial.map_leftInverse
-/- warning: mv_polynomial.map_right_inverse -> MvPolynomial.map_rightInverse is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.map_right_inverse MvPolynomial.map_rightInverseₓ'. -/
/-- If `f` is a right-inverse of `g` then `map f` is a right-inverse of `map g`. -/
theorem map_rightInverse {f : R →+* S₁} {g : S₁ →+* R} (hf : Function.RightInverse f g) :
Function.RightInverse (map f : MvPolynomial σ R → MvPolynomial σ S₁) (map g) :=
(map_leftInverse hf.LeftInverse).RightInverse
#align mv_polynomial.map_right_inverse MvPolynomial.map_rightInverse
-/- warning: mv_polynomial.eval_map -> MvPolynomial.eval_map is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval_map MvPolynomial.eval_mapₓ'. -/
@[simp]
theorem eval_map (f : R →+* S₁) (g : σ → S₁) (p : MvPolynomial σ R) :
eval g (map f p) = eval₂ f g p := by
apply MvPolynomial.induction_on p <;> · simp (config := { contextual := true })
#align mv_polynomial.eval_map MvPolynomial.eval_map
-/- warning: mv_polynomial.eval₂_map -> MvPolynomial.eval₂_map is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_map MvPolynomial.eval₂_mapₓ'. -/
@[simp]
theorem eval₂_map [CommSemiring S₂] (f : R →+* S₁) (g : σ → S₂) (φ : S₁ →+* S₂)
(p : MvPolynomial σ R) : eval₂ φ g (map f p) = eval₂ (φ.comp f) g p := by
rw [← eval_map, ← eval_map, map_map]
#align mv_polynomial.eval₂_map MvPolynomial.eval₂_map
-/- warning: mv_polynomial.eval₂_hom_map_hom -> MvPolynomial.eval₂Hom_map_hom is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_hom_map_hom MvPolynomial.eval₂Hom_map_homₓ'. -/
@[simp]
theorem eval₂Hom_map_hom [CommSemiring S₂] (f : R →+* S₁) (g : σ → S₂) (φ : S₁ →+* S₂)
(p : MvPolynomial σ R) : eval₂Hom φ g (map f p) = eval₂Hom (φ.comp f) g p :=
eval₂_map f g φ p
#align mv_polynomial.eval₂_hom_map_hom MvPolynomial.eval₂Hom_map_hom
-/- warning: mv_polynomial.constant_coeff_map -> MvPolynomial.constantCoeff_map is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.constant_coeff_map MvPolynomial.constantCoeff_mapₓ'. -/
@[simp]
theorem constantCoeff_map (f : R →+* S₁) (φ : MvPolynomial σ R) :
constantCoeff (MvPolynomial.map f φ) = f (constantCoeff φ) :=
coeff_map f φ 0
#align mv_polynomial.constant_coeff_map MvPolynomial.constantCoeff_map
-/- warning: mv_polynomial.constant_coeff_comp_map -> MvPolynomial.constantCoeff_comp_map is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))), Eq.{max (succ (max u3 u1)) (succ u2)} (RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (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))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (RingHom.comp.{max u3 u1, max u3 u2, u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (MvPolynomial.constantCoeff.{u2, u3} S₁ σ _inst_2) (MvPolynomial.map.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f)) (RingHom.comp.{max u3 u1, u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) R S₁ (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) f (MvPolynomial.constantCoeff.{u1, u3} R σ _inst_1))
-but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))), Eq.{max (max (succ u2) (succ u3)) (succ u1)} (RingHom.{max u1 u2, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHom.comp.{max u1 u2, max u3 u1, u3} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) 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.{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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (MvPolynomial.constantCoeff.{u3, u1} S₁ σ _inst_2) (MvPolynomial.map.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f)) (RingHom.comp.{max u1 u2, u2, u3} (MvPolynomial.{u1, u2} σ R _inst_1) R 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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) f (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1))
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.constant_coeff_comp_map MvPolynomial.constantCoeff_comp_mapₓ'. -/
theorem constantCoeff_comp_map (f : R →+* S₁) :
(constantCoeff : MvPolynomial σ S₁ →+* S₁).comp (MvPolynomial.map f) = f.comp constantCoeff :=
by ext <;> simp
#align mv_polynomial.constant_coeff_comp_map MvPolynomial.constantCoeff_comp_map
-/- warning: mv_polynomial.support_map_subset -> MvPolynomial.support_map_subset is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (p : MvPolynomial.{u3, u1} σ R _inst_1), HasSubset.Subset.{u3} (Finset.{u3} (Finsupp.{u3, 0} σ Nat Nat.hasZero)) (Finset.hasSubset.{u3} (Finsupp.{u3, 0} σ Nat Nat.hasZero)) (MvPolynomial.support.{u2, u3} S₁ σ _inst_2 (coeFn.{max (succ (max u3 u1)) (succ (max u3 u2)), max (succ (max u3 u1)) (succ (max u3 u2))} (RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (fun (_x : RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> (MvPolynomial.{u3, u2} σ S₁ _inst_2)) (RingHom.hasCoeToFun.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (MvPolynomial.map.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f) p)) (MvPolynomial.support.{u1, u3} R σ _inst_1 p)
-but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (p : MvPolynomial.{u1, u2} σ R _inst_1), HasSubset.Subset.{u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instHasSubsetFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.support.{u3, u1} S₁ σ _inst_2 (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f) p)) (MvPolynomial.support.{u2, u1} R σ _inst_1 p)
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.support_map_subset MvPolynomial.support_map_subsetₓ'. -/
theorem support_map_subset (p : MvPolynomial σ R) : (map f p).support ⊆ p.support :=
by
intro x
@@ -2155,9 +1348,6 @@ theorem support_map_subset (p : MvPolynomial σ R) : (map f p).support ⊆ p.sup
exact RingHom.map_zero f
#align mv_polynomial.support_map_subset MvPolynomial.support_map_subset
-/- warning: mv_polynomial.support_map_of_injective -> MvPolynomial.support_map_of_injective is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.support_map_of_injective MvPolynomial.support_map_of_injectiveₓ'. -/
theorem support_map_of_injective (p : MvPolynomial σ R) {f : R →+* S₁} (hf : Injective f) :
(map f p).support = p.support :=
by
@@ -2172,9 +1362,6 @@ theorem support_map_of_injective (p : MvPolynomial σ R) {f : R →+* S₁} (hf
exact hf hx
#align mv_polynomial.support_map_of_injective MvPolynomial.support_map_of_injective
-/- warning: mv_polynomial.C_dvd_iff_map_hom_eq_zero -> MvPolynomial.C_dvd_iff_map_hom_eq_zero is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.C_dvd_iff_map_hom_eq_zero MvPolynomial.C_dvd_iff_map_hom_eq_zeroₓ'. -/
theorem C_dvd_iff_map_hom_eq_zero (q : R →+* S₁) (r : R) (hr : ∀ r' : R, q r' = 0 ↔ r ∣ r')
(φ : MvPolynomial σ R) : C r ∣ φ ↔ map q φ = 0 :=
by
@@ -2182,9 +1369,6 @@ theorem C_dvd_iff_map_hom_eq_zero (q : R →+* S₁) (r : R) (hr : ∀ r' : R, q
simp only [coeff_map, coeff_zero, hr]
#align mv_polynomial.C_dvd_iff_map_hom_eq_zero MvPolynomial.C_dvd_iff_map_hom_eq_zero
-/- warning: mv_polynomial.map_map_range_eq_iff -> MvPolynomial.map_mapRange_eq_iff is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.map_map_range_eq_iff MvPolynomial.map_mapRange_eq_iffₓ'. -/
theorem map_mapRange_eq_iff (f : R →+* S₁) (g : S₁ → R) (hg : g 0 = 0) (φ : MvPolynomial σ S₁) :
map f (Finsupp.mapRange g hg φ) = φ ↔ ∀ d, f (g (coeff d φ)) = coeff d φ :=
by
@@ -2210,21 +1394,12 @@ def mapAlgHom [CommSemiring S₂] [Algebra R S₁] [Algebra R S₂] (f : S₁
#align mv_polynomial.map_alg_hom MvPolynomial.mapAlgHom
-/
-/- warning: mv_polynomial.map_alg_hom_id -> MvPolynomial.mapAlgHom_id is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : Algebra.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2)], Eq.{succ (max u3 u2)} (AlgHom.{u1, max u3 u2, max u3 u2} R (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.{u3, u2} σ S₁ _inst_2) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)) (MvPolynomial.algebra.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 _inst_3) (MvPolynomial.algebra.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 _inst_3)) (MvPolynomial.mapAlgHom.{u1, u2, u2, u3} R S₁ S₁ σ _inst_1 _inst_2 _inst_2 _inst_3 _inst_3 (AlgHom.id.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) _inst_3)) (AlgHom.id.{u1, max u3 u2} R (MvPolynomial.{u3, u2} σ S₁ _inst_2) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)) (MvPolynomial.algebra.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 _inst_3))
-but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : Algebra.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2)], Eq.{max (succ u3) (succ u1)} (AlgHom.{u2, max u3 u1, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u3} σ S₁ _inst_2) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u3, u1} S₁ σ _inst_2)) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u3, u1} S₁ σ _inst_2)) (MvPolynomial.algebra.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_3) (MvPolynomial.algebra.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_3)) (MvPolynomial.mapAlgHom.{u2, u3, u3, u1} R S₁ S₁ σ _inst_1 _inst_2 _inst_2 _inst_3 _inst_3 (AlgHom.id.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (AlgHom.id.{u2, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u3, u1} S₁ σ _inst_2)) (MvPolynomial.algebra.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_3))
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.map_alg_hom_id MvPolynomial.mapAlgHom_idₓ'. -/
@[simp]
theorem mapAlgHom_id [Algebra R S₁] :
mapAlgHom (AlgHom.id R S₁) = AlgHom.id R (MvPolynomial σ S₁) :=
AlgHom.ext map_id
#align mv_polynomial.map_alg_hom_id MvPolynomial.mapAlgHom_id
-/- warning: mv_polynomial.map_alg_hom_coe_ring_hom -> MvPolynomial.mapAlgHom_coe_ringHom is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.map_alg_hom_coe_ring_hom MvPolynomial.mapAlgHom_coe_ringHomₓ'. -/
@[simp]
theorem mapAlgHom_coe_ringHom [CommSemiring S₂] [Algebra R S₁] [Algebra R S₂] (f : S₁ →ₐ[R] S₂) :
↑(mapAlgHom f : _ →ₐ[R] MvPolynomial σ S₂) =
@@ -2243,9 +1418,6 @@ variable [Algebra R S₁] [CommSemiring S₂]
variable (f : σ → S₁)
-/- warning: mv_polynomial.algebra_map_apply -> MvPolynomial.algebraMap_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.algebra_map_apply MvPolynomial.algebraMap_applyₓ'. -/
theorem algebraMap_apply (r : R) : algebraMap R (MvPolynomial σ S₁) r = C (algebraMap R S₁ r) :=
rfl
#align mv_polynomial.algebra_map_apply MvPolynomial.algebraMap_apply
@@ -2258,191 +1430,104 @@ def aeval : MvPolynomial σ R →ₐ[R] S₁ :=
#align mv_polynomial.aeval MvPolynomial.aeval
-/
-/- warning: mv_polynomial.aeval_def -> MvPolynomial.aeval_def is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_def MvPolynomial.aeval_defₓ'. -/
theorem aeval_def (p : MvPolynomial σ R) : aeval f p = eval₂ (algebraMap R S₁) f p :=
rfl
#align mv_polynomial.aeval_def MvPolynomial.aeval_def
-/- warning: mv_polynomial.aeval_eq_eval₂_hom -> MvPolynomial.aeval_eq_eval₂Hom is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_eq_eval₂_hom MvPolynomial.aeval_eq_eval₂Homₓ'. -/
theorem aeval_eq_eval₂Hom (p : MvPolynomial σ R) : aeval f p = eval₂Hom (algebraMap R S₁) f p :=
rfl
#align mv_polynomial.aeval_eq_eval₂_hom MvPolynomial.aeval_eq_eval₂Hom
-/- warning: mv_polynomial.aeval_X -> MvPolynomial.aeval_X is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_X MvPolynomial.aeval_Xₓ'. -/
@[simp]
theorem aeval_X (s : σ) : aeval f (X s : MvPolynomial _ R) = f s :=
eval₂_X _ _ _
#align mv_polynomial.aeval_X MvPolynomial.aeval_X
-/- warning: mv_polynomial.aeval_C -> MvPolynomial.aeval_C is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_C MvPolynomial.aeval_Cₓ'. -/
@[simp]
theorem aeval_C (r : R) : aeval f (C r) = algebraMap R S₁ r :=
eval₂_C _ _ _
#align mv_polynomial.aeval_C MvPolynomial.aeval_C
-/- warning: mv_polynomial.aeval_unique -> MvPolynomial.aeval_unique is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_unique MvPolynomial.aeval_uniqueₓ'. -/
theorem aeval_unique (φ : MvPolynomial σ R →ₐ[R] S₁) : φ = aeval (φ ∘ X) := by ext i; simp
#align mv_polynomial.aeval_unique MvPolynomial.aeval_unique
-/- warning: mv_polynomial.aeval_X_left -> MvPolynomial.aeval_X_left is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R], Eq.{succ (max u2 u1)} (AlgHom.{u1, max u2 u1, max u2 u1} 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.aeval.{u1, max u2 u1, u2} R (MvPolynomial.{u2, u1} σ R _inst_1) σ _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.X.{u1, u2} R σ _inst_1)) (AlgHom.id.{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)))
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} (AlgHom.{u2, max u2 u1, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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.aeval.{u2, max u1 u2, u1} R (MvPolynomial.{u1, u2} σ R _inst_1) σ _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.X.{u2, u1} R σ _inst_1)) (AlgHom.id.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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)))
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_X_left MvPolynomial.aeval_X_leftₓ'. -/
theorem aeval_X_left : aeval X = AlgHom.id R (MvPolynomial σ R) :=
(aeval_unique (AlgHom.id R _)).symm
#align mv_polynomial.aeval_X_left MvPolynomial.aeval_X_left
-/- warning: mv_polynomial.aeval_X_left_apply -> MvPolynomial.aeval_X_left_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_X_left_apply MvPolynomial.aeval_X_left_applyₓ'. -/
theorem aeval_X_left_apply (p : MvPolynomial σ R) : aeval X p = p :=
AlgHom.congr_fun aeval_X_left p
#align mv_polynomial.aeval_X_left_apply MvPolynomial.aeval_X_left_apply
-/- warning: mv_polynomial.comp_aeval -> MvPolynomial.comp_aeval is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.comp_aeval MvPolynomial.comp_aevalₓ'. -/
theorem comp_aeval {B : Type _} [CommSemiring B] [Algebra R B] (φ : S₁ →ₐ[R] B) :
φ.comp (aeval f) = aeval fun i => φ (f i) := by ext i; simp
#align mv_polynomial.comp_aeval MvPolynomial.comp_aeval
-/- warning: mv_polynomial.map_aeval -> MvPolynomial.map_aeval is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.map_aeval MvPolynomial.map_aevalₓ'. -/
@[simp]
theorem map_aeval {B : Type _} [CommSemiring B] (g : σ → S₁) (φ : S₁ →+* B) (p : MvPolynomial σ R) :
φ (aeval g p) = eval₂Hom (φ.comp (algebraMap R S₁)) (fun i => φ (g i)) p := by
rw [← comp_eval₂_hom]; rfl
#align mv_polynomial.map_aeval MvPolynomial.map_aeval
-/- warning: mv_polynomial.eval₂_hom_zero -> MvPolynomial.eval₂Hom_zero is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S₂ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_4 : CommSemiring.{u2} S₂] (f : RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))), Eq.{max (succ (max u3 u1)) (succ u2)} (RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (MvPolynomial.eval₂Hom.{u1, u2, u3} R S₂ σ _inst_1 _inst_4 f (OfNat.ofNat.{max u3 u2} (σ -> S₂) 0 (OfNat.mk.{max u3 u2} (σ -> S₂) 0 (Zero.zero.{max u3 u2} (σ -> S₂) (Pi.instZero.{u3, u2} σ (fun (ᾰ : σ) => S₂) (fun (i : σ) => MulZeroClass.toHasZero.{u2} S₂ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4)))))))))) (RingHom.comp.{max u3 u1, u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) R S₂ (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4)) f (MvPolynomial.constantCoeff.{u1, u3} R σ _inst_1))
-but is expected to have type
- forall {R : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_4 : CommSemiring.{u3} S₂] (f : RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))), Eq.{max (max (succ u2) (succ u3)) (succ u1)} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₂ σ _inst_1 _inst_4 f (OfNat.ofNat.{max u3 u1} (σ -> S₂) 0 (Zero.toOfNat0.{max u3 u1} (σ -> S₂) (Pi.instZero.{u1, u3} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.20540 : σ) => S₂) (fun (i : σ) => CommMonoidWithZero.toZero.{u3} S₂ (CommSemiring.toCommMonoidWithZero.{u3} S₂ _inst_4)))))) (RingHom.comp.{max u1 u2, u2, u3} (MvPolynomial.{u1, u2} σ R _inst_1) R 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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) f (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1))
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_hom_zero MvPolynomial.eval₂Hom_zeroₓ'. -/
@[simp]
theorem eval₂Hom_zero (f : R →+* S₂) : eval₂Hom f (0 : σ → S₂) = f.comp constantCoeff := by
ext <;> simp
#align mv_polynomial.eval₂_hom_zero MvPolynomial.eval₂Hom_zero
-/- warning: mv_polynomial.eval₂_hom_zero' -> MvPolynomial.eval₂Hom_zero' is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S₂ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_4 : CommSemiring.{u2} S₂] (f : RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))), Eq.{max (succ (max u3 u1)) (succ u2)} (RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (MvPolynomial.eval₂Hom.{u1, u2, u3} R S₂ σ _inst_1 _inst_4 f (fun (_x : σ) => OfNat.ofNat.{u2} S₂ 0 (OfNat.mk.{u2} S₂ 0 (Zero.zero.{u2} S₂ (MulZeroClass.toHasZero.{u2} S₂ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))))))))) (RingHom.comp.{max u3 u1, u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) R S₂ (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4)) f (MvPolynomial.constantCoeff.{u1, u3} R σ _inst_1))
-but is expected to have type
- forall {R : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_4 : CommSemiring.{u3} S₂] (f : RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))), Eq.{max (max (succ u2) (succ u3)) (succ u1)} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₂ σ _inst_1 _inst_4 f (fun (_x : σ) => OfNat.ofNat.{u3} S₂ 0 (Zero.toOfNat0.{u3} S₂ (CommMonoidWithZero.toZero.{u3} S₂ (CommSemiring.toCommMonoidWithZero.{u3} S₂ _inst_4))))) (RingHom.comp.{max u1 u2, u2, u3} (MvPolynomial.{u1, u2} σ R _inst_1) R 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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) f (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1))
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_hom_zero' MvPolynomial.eval₂Hom_zero'ₓ'. -/
@[simp]
theorem eval₂Hom_zero' (f : R →+* S₂) : eval₂Hom f (fun _ => 0 : σ → S₂) = f.comp constantCoeff :=
eval₂Hom_zero f
#align mv_polynomial.eval₂_hom_zero' MvPolynomial.eval₂Hom_zero'
-/- warning: mv_polynomial.eval₂_hom_zero_apply -> MvPolynomial.eval₂Hom_zero_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_hom_zero_apply MvPolynomial.eval₂Hom_zero_applyₓ'. -/
theorem eval₂Hom_zero_apply (f : R →+* S₂) (p : MvPolynomial σ R) :
eval₂Hom f (0 : σ → S₂) p = f (constantCoeff p) :=
RingHom.congr_fun (eval₂Hom_zero f) p
#align mv_polynomial.eval₂_hom_zero_apply MvPolynomial.eval₂Hom_zero_apply
-/- warning: mv_polynomial.eval₂_hom_zero'_apply -> MvPolynomial.eval₂Hom_zero'_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_hom_zero'_apply MvPolynomial.eval₂Hom_zero'_applyₓ'. -/
theorem eval₂Hom_zero'_apply (f : R →+* S₂) (p : MvPolynomial σ R) :
eval₂Hom f (fun _ => 0 : σ → S₂) p = f (constantCoeff p) :=
eval₂Hom_zero_apply f p
#align mv_polynomial.eval₂_hom_zero'_apply MvPolynomial.eval₂Hom_zero'_apply
-/- warning: mv_polynomial.eval₂_zero_apply -> MvPolynomial.eval₂_zero_apply is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S₂ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_4 : CommSemiring.{u2} S₂] (f : RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (p : MvPolynomial.{u3, u1} σ R _inst_1), Eq.{succ u2} S₂ (MvPolynomial.eval₂.{u1, u2, u3} R S₂ σ _inst_1 _inst_4 f (OfNat.ofNat.{max u3 u2} (σ -> S₂) 0 (OfNat.mk.{max u3 u2} (σ -> S₂) 0 (Zero.zero.{max u3 u2} (σ -> S₂) (Pi.instZero.{u3, u2} σ (fun (ᾰ : σ) => S₂) (fun (i : σ) => MulZeroClass.toHasZero.{u2} S₂ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))))))))) p) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (fun (_x : RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) => R -> S₂) (RingHom.hasCoeToFun.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) f (coeFn.{max (succ (max u3 u1)) (succ u1), max (succ (max u3 u1)) (succ u1)} (RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.constantCoeff.{u1, u3} R σ _inst_1) p))
-but is expected to have type
- forall {R : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_4 : CommSemiring.{u3} S₂] (f : RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} S₂ (MvPolynomial.eval₂.{u2, u3, u1} R S₂ σ _inst_1 _inst_4 f (OfNat.ofNat.{max u3 u1} (σ -> S₂) 0 (Zero.toOfNat0.{max u3 u1} (σ -> S₂) (Pi.instZero.{u1, u3} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.20853 : σ) => S₂) (fun (i : σ) => CommMonoidWithZero.toZero.{u3} S₂ (CommSemiring.toCommMonoidWithZero.{u3} S₂ _inst_4))))) p) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₂) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))))) f (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) p))
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_zero_apply MvPolynomial.eval₂_zero_applyₓ'. -/
@[simp]
theorem eval₂_zero_apply (f : R →+* S₂) (p : MvPolynomial σ R) :
eval₂ f (0 : σ → S₂) p = f (constantCoeff p) :=
eval₂Hom_zero_apply _ _
#align mv_polynomial.eval₂_zero_apply MvPolynomial.eval₂_zero_apply
-/- warning: mv_polynomial.eval₂_zero'_apply -> MvPolynomial.eval₂_zero'_apply is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S₂ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_4 : CommSemiring.{u2} S₂] (f : RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (p : MvPolynomial.{u3, u1} σ R _inst_1), Eq.{succ u2} S₂ (MvPolynomial.eval₂.{u1, u2, u3} R S₂ σ _inst_1 _inst_4 f (fun (_x : σ) => OfNat.ofNat.{u2} S₂ 0 (OfNat.mk.{u2} S₂ 0 (Zero.zero.{u2} S₂ (MulZeroClass.toHasZero.{u2} S₂ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4)))))))) p) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (fun (_x : RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) => R -> S₂) (RingHom.hasCoeToFun.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) f (coeFn.{max (succ (max u3 u1)) (succ u1), max (succ (max u3 u1)) (succ u1)} (RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.constantCoeff.{u1, u3} R σ _inst_1) p))
-but is expected to have type
- forall {R : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_4 : CommSemiring.{u3} S₂] (f : RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} S₂ (MvPolynomial.eval₂.{u2, u3, u1} R S₂ σ _inst_1 _inst_4 f (fun (_x : σ) => OfNat.ofNat.{u3} S₂ 0 (Zero.toOfNat0.{u3} S₂ (CommMonoidWithZero.toZero.{u3} S₂ (CommSemiring.toCommMonoidWithZero.{u3} S₂ _inst_4)))) p) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₂) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))))) f (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) p))
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_zero'_apply MvPolynomial.eval₂_zero'_applyₓ'. -/
@[simp]
theorem eval₂_zero'_apply (f : R →+* S₂) (p : MvPolynomial σ R) :
eval₂ f (fun _ => 0 : σ → S₂) p = f (constantCoeff p) :=
eval₂_zero_apply f p
#align mv_polynomial.eval₂_zero'_apply MvPolynomial.eval₂_zero'_apply
-/- warning: mv_polynomial.aeval_zero -> MvPolynomial.aeval_zero is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_zero MvPolynomial.aeval_zeroₓ'. -/
@[simp]
theorem aeval_zero (p : MvPolynomial σ R) :
aeval (0 : σ → S₁) p = algebraMap _ _ (constantCoeff p) :=
eval₂Hom_zero_apply (algebraMap R S₁) p
#align mv_polynomial.aeval_zero MvPolynomial.aeval_zero
-/- warning: mv_polynomial.aeval_zero' -> MvPolynomial.aeval_zero' is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_zero' MvPolynomial.aeval_zero'ₓ'. -/
@[simp]
theorem aeval_zero' (p : MvPolynomial σ R) :
aeval (fun _ => 0 : σ → S₁) p = algebraMap _ _ (constantCoeff p) :=
aeval_zero p
#align mv_polynomial.aeval_zero' MvPolynomial.aeval_zero'
-/- warning: mv_polynomial.eval_zero -> MvPolynomial.eval_zero is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R], Eq.{max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.eval.{u1, u2} R σ _inst_1 (OfNat.ofNat.{max u2 u1} (σ -> R) 0 (OfNat.mk.{max u2 u1} (σ -> R) 0 (Zero.zero.{max u2 u1} (σ -> R) (Pi.instZero.{u2, u1} σ (fun (ᾰ : σ) => R) (fun (i : σ) => MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))) (MvPolynomial.constantCoeff.{u1, u2} R σ _inst_1)
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.eval.{u2, u1} R σ _inst_1 (OfNat.ofNat.{max u2 u1} (σ -> R) 0 (Zero.toOfNat0.{max u2 u1} (σ -> R) (Pi.instZero.{u1, u2} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.21149 : σ) => R) (fun (i : σ) => CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1)
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval_zero MvPolynomial.eval_zeroₓ'. -/
@[simp]
theorem eval_zero : eval (0 : σ → R) = constantCoeff :=
eval₂Hom_zero _
#align mv_polynomial.eval_zero MvPolynomial.eval_zero
-/- warning: mv_polynomial.eval_zero' -> MvPolynomial.eval_zero' is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R], Eq.{max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.eval.{u1, u2} R σ _inst_1 (fun (_x : σ) => OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) (MvPolynomial.constantCoeff.{u1, u2} R σ _inst_1)
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.eval.{u2, u1} R σ _inst_1 (fun (_x : σ) => OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1)
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval_zero' MvPolynomial.eval_zero'ₓ'. -/
@[simp]
theorem eval_zero' : eval (fun _ => 0 : σ → R) = constantCoeff :=
eval₂Hom_zero _
#align mv_polynomial.eval_zero' MvPolynomial.eval_zero'
-/- warning: mv_polynomial.aeval_monomial -> MvPolynomial.aeval_monomial is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_monomial MvPolynomial.aeval_monomialₓ'. -/
theorem aeval_monomial (g : σ → S₁) (d : σ →₀ ℕ) (r : R) :
aeval g (monomial d r) = algebraMap _ _ r * d.Prod fun i k => g i ^ k :=
eval₂Hom_monomial _ _ _ _
#align mv_polynomial.aeval_monomial MvPolynomial.aeval_monomial
-/- warning: mv_polynomial.eval₂_hom_eq_zero -> MvPolynomial.eval₂Hom_eq_zero is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S₂ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_4 : CommSemiring.{u2} S₂] (f : RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (g : σ -> S₂) (φ : MvPolynomial.{u3, u1} σ R _inst_1), (forall (d : Finsupp.{u3, 0} σ Nat Nat.hasZero), (Ne.{succ u1} R (MvPolynomial.coeff.{u1, u3} R σ _inst_1 d φ) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) -> (Exists.{succ u3} σ (fun (i : σ) => Exists.{0} (Membership.Mem.{u3, u3} σ (Finset.{u3} σ) (Finset.hasMem.{u3} σ) i (Finsupp.support.{u3, 0} σ Nat Nat.hasZero d)) (fun (H : Membership.Mem.{u3, u3} σ (Finset.{u3} σ) (Finset.hasMem.{u3} σ) i (Finsupp.support.{u3, 0} σ Nat Nat.hasZero d)) => Eq.{succ u2} S₂ (g i) (OfNat.ofNat.{u2} S₂ 0 (OfNat.mk.{u2} S₂ 0 (Zero.zero.{u2} S₂ (MulZeroClass.toHasZero.{u2} S₂ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4)))))))))))) -> (Eq.{succ u2} S₂ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (fun (_x : RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₂) (RingHom.hasCoeToFun.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (MvPolynomial.eval₂Hom.{u1, u2, u3} R S₂ σ _inst_1 _inst_4 f g) φ) (OfNat.ofNat.{u2} S₂ 0 (OfNat.mk.{u2} S₂ 0 (Zero.zero.{u2} S₂ (MulZeroClass.toHasZero.{u2} S₂ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4)))))))))
-but is expected to have type
- forall {R : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_4 : CommSemiring.{u3} S₂] (f : RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (g : σ -> S₂) (φ : MvPolynomial.{u1, u2} σ R _inst_1), (forall (d : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)), (Ne.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d φ) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) -> (Exists.{succ u1} σ (fun (i : σ) => And (Membership.mem.{u1, u1} σ (Finset.{u1} σ) (Finset.instMembershipFinset.{u1} σ) i (Finsupp.support.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) d)) (Eq.{succ u3} S₂ (g i) (OfNat.ofNat.{u3} S₂ 0 (Zero.toOfNat0.{u3} S₂ (CommMonoidWithZero.toZero.{u3} S₂ (CommSemiring.toCommMonoidWithZero.{u3} S₂ _inst_4)))))))) -> (Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) φ) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₂ σ _inst_1 _inst_4 f g) φ) (OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) φ) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) φ) (CommMonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) φ) (CommSemiring.toCommMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) φ) _inst_4)))))
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_hom_eq_zero MvPolynomial.eval₂Hom_eq_zeroₓ'. -/
theorem eval₂Hom_eq_zero (f : R →+* S₂) (g : σ → S₂) (φ : MvPolynomial σ R)
(h : ∀ d, φ.coeff d ≠ 0 → ∃ i ∈ d.support, g i = 0) : eval₂Hom f g φ = 0 :=
by
@@ -2454,25 +1539,16 @@ theorem eval₂Hom_eq_zero (f : R →+* S₂) (g : σ → S₂) (φ : MvPolynomi
rwa [pos_iff_ne_zero, ← Finsupp.mem_support_iff]
#align mv_polynomial.eval₂_hom_eq_zero MvPolynomial.eval₂Hom_eq_zero
-/- warning: mv_polynomial.aeval_eq_zero -> MvPolynomial.aeval_eq_zero is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_eq_zero MvPolynomial.aeval_eq_zeroₓ'. -/
theorem aeval_eq_zero [Algebra R S₂] (f : σ → S₂) (φ : MvPolynomial σ R)
(h : ∀ d, φ.coeff d ≠ 0 → ∃ i ∈ d.support, f i = 0) : aeval f φ = 0 :=
eval₂Hom_eq_zero _ _ _ h
#align mv_polynomial.aeval_eq_zero MvPolynomial.aeval_eq_zero
-/- warning: mv_polynomial.aeval_sum -> MvPolynomial.aeval_sum is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_sum MvPolynomial.aeval_sumₓ'. -/
theorem aeval_sum {ι : Type _} (s : Finset ι) (φ : ι → MvPolynomial σ R) :
aeval f (∑ i in s, φ i) = ∑ i in s, aeval f (φ i) :=
(MvPolynomial.aeval f).map_sum _ _
#align mv_polynomial.aeval_sum MvPolynomial.aeval_sum
-/- warning: mv_polynomial.aeval_prod -> MvPolynomial.aeval_prod is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_prod MvPolynomial.aeval_prodₓ'. -/
@[to_additive]
theorem aeval_prod {ι : Type _} (s : Finset ι) (φ : ι → MvPolynomial σ R) :
aeval f (∏ i in s, φ i) = ∏ i in s, aeval f (φ i) :=
@@ -2482,12 +1558,6 @@ theorem aeval_prod {ι : Type _} (s : Finset ι) (φ : ι → MvPolynomial σ R)
variable (R)
-/- warning: algebra.adjoin_range_eq_range_aeval -> Algebra.adjoin_range_eq_range_aeval is a dubious translation:
-lean 3 declaration is
- forall (R : Type.{u1}) {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : Algebra.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2)] (f : σ -> S₁), Eq.{succ u2} (Subalgebra.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) _inst_3) (Algebra.adjoin.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) _inst_3 (Set.range.{u2, succ u3} S₁ σ f)) (AlgHom.range.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _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)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) _inst_3 (MvPolynomial.aeval.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 _inst_3 f))
-but is expected to have type
- forall (R : Type.{u2}) {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : Algebra.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2)] (f : σ -> S₁), Eq.{succ u3} (Subalgebra.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3) (Algebra.adjoin.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3 (Set.range.{u3, succ u1} S₁ σ f)) (AlgHom.range.{u2, max u1 u2, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3 (MvPolynomial.aeval.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_3 f))
-Case conversion may be inaccurate. Consider using '#align algebra.adjoin_range_eq_range_aeval Algebra.adjoin_range_eq_range_aevalₓ'. -/
theorem Algebra.adjoin_range_eq_range_aeval :
Algebra.adjoin R (Set.range f) = (MvPolynomial.aeval f).range := by
simp only [← Algebra.map_top, ← MvPolynomial.adjoin_range_X, AlgHom.map_adjoin, ← Set.range_comp,
@@ -2521,81 +1591,48 @@ def aevalTower (f : R →ₐ[S] A) (x : σ → A) : MvPolynomial σ R →ₐ[S]
variable (g : R →ₐ[S] A) (y : σ → A)
-/- warning: mv_polynomial.aeval_tower_X -> MvPolynomial.aevalTower_X is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_tower_X MvPolynomial.aevalTower_Xₓ'. -/
@[simp]
theorem aevalTower_X (i : σ) : aevalTower g y (X i) = y i :=
eval₂_X _ _ _
#align mv_polynomial.aeval_tower_X MvPolynomial.aevalTower_X
-/- warning: mv_polynomial.aeval_tower_C -> MvPolynomial.aevalTower_C is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_tower_C MvPolynomial.aevalTower_Cₓ'. -/
@[simp]
theorem aevalTower_C (x : R) : aevalTower g y (C x) = g x :=
eval₂_C _ _ _
#align mv_polynomial.aeval_tower_C MvPolynomial.aevalTower_C
-/- warning: mv_polynomial.aeval_tower_comp_C -> MvPolynomial.aevalTower_comp_C is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_tower_comp_C MvPolynomial.aevalTower_comp_Cₓ'. -/
@[simp]
theorem aevalTower_comp_C : (aevalTower g y : MvPolynomial σ R →+* A).comp C = g :=
RingHom.ext <| aevalTower_C _ _
#align mv_polynomial.aeval_tower_comp_C MvPolynomial.aevalTower_comp_C
-/- warning: mv_polynomial.aeval_tower_algebra_map -> MvPolynomial.aevalTower_algebraMap is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_tower_algebra_map MvPolynomial.aevalTower_algebraMapₓ'. -/
@[simp]
theorem aevalTower_algebraMap (x : R) : aevalTower g y (algebraMap R (MvPolynomial σ R) x) = g x :=
eval₂_C _ _ _
#align mv_polynomial.aeval_tower_algebra_map MvPolynomial.aevalTower_algebraMap
-/- warning: mv_polynomial.aeval_tower_comp_algebra_map -> MvPolynomial.aevalTower_comp_algebraMap is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_tower_comp_algebra_map MvPolynomial.aevalTower_comp_algebraMapₓ'. -/
@[simp]
theorem aevalTower_comp_algebraMap :
(aevalTower g y : MvPolynomial σ R →+* A).comp (algebraMap R (MvPolynomial σ R)) = g :=
aevalTower_comp_C _ _
#align mv_polynomial.aeval_tower_comp_algebra_map MvPolynomial.aevalTower_comp_algebraMap
-/- warning: mv_polynomial.aeval_tower_to_alg_hom -> MvPolynomial.aevalTower_toAlgHom is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_tower_to_alg_hom MvPolynomial.aevalTower_toAlgHomₓ'. -/
theorem aevalTower_toAlgHom (x : R) :
aevalTower g y (IsScalarTower.toAlgHom S R (MvPolynomial σ R) x) = g x :=
aevalTower_algebraMap _ _ _
#align mv_polynomial.aeval_tower_to_alg_hom MvPolynomial.aevalTower_toAlgHom
-/- warning: mv_polynomial.aeval_tower_comp_to_alg_hom -> MvPolynomial.aevalTower_comp_toAlgHom is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_tower_comp_to_alg_hom MvPolynomial.aevalTower_comp_toAlgHomₓ'. -/
@[simp]
theorem aevalTower_comp_toAlgHom :
(aevalTower g y).comp (IsScalarTower.toAlgHom S R (MvPolynomial σ R)) = g :=
AlgHom.coe_ringHom_injective <| aevalTower_comp_algebraMap _ _
#align mv_polynomial.aeval_tower_comp_to_alg_hom MvPolynomial.aevalTower_comp_toAlgHom
-/- warning: mv_polynomial.aeval_tower_id -> MvPolynomial.aevalTower_id is a dubious translation:
-lean 3 declaration is
- forall {σ : Type.{u1}} {S : Type.{u2}} [_inst_3 : CommSemiring.{u2} S], Eq.{max (max (succ u1) (succ u2)) (succ (max u1 u2)) (succ u2)} ((σ -> S) -> (AlgHom.{u2, max u1 u2, u2} S (MvPolynomial.{u1, u2} σ S _inst_3) S _inst_3 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ S _inst_3) (MvPolynomial.commSemiring.{u2, u1} S σ _inst_3)) (CommSemiring.toSemiring.{u2} S _inst_3) (MvPolynomial.algebra.{u2, u2, u1} S S σ _inst_3 _inst_3 (Algebra.id.{u2} S _inst_3)) (Algebra.id.{u2} S _inst_3))) (MvPolynomial.aevalTower.{u2, u1, u2, u2} S σ _inst_3 S S _inst_3 _inst_3 (Algebra.id.{u2} S _inst_3) (Algebra.id.{u2} S _inst_3) (AlgHom.id.{u2, u2} S S _inst_3 (CommSemiring.toSemiring.{u2} S _inst_3) (Algebra.id.{u2} S _inst_3))) (MvPolynomial.aeval.{u2, u2, u1} S S σ _inst_3 _inst_3 (Algebra.id.{u2} S _inst_3))
-but is expected to have type
- forall {σ : Type.{u2}} {S : Type.{u1}} [_inst_3 : CommSemiring.{u1} S], Eq.{max (succ u2) (succ u1)} ((σ -> S) -> (AlgHom.{u1, max u1 u2, u1} S (MvPolynomial.{u2, u1} σ S _inst_3) S _inst_3 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ S _inst_3) (MvPolynomial.commSemiring.{u1, u2} S σ _inst_3)) (CommSemiring.toSemiring.{u1} S _inst_3) (MvPolynomial.algebra.{u1, u1, u2} S S σ _inst_3 _inst_3 (Algebra.id.{u1} S _inst_3)) (Algebra.id.{u1} S _inst_3))) (MvPolynomial.aevalTower.{u1, u2, u1, u1} S σ _inst_3 S S _inst_3 _inst_3 (Algebra.id.{u1} S _inst_3) (Algebra.id.{u1} S _inst_3) (AlgHom.id.{u1, u1} S S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_3) (Algebra.id.{u1} S _inst_3))) (MvPolynomial.aeval.{u1, u1, u2} S S σ _inst_3 _inst_3 (Algebra.id.{u1} S _inst_3))
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_tower_id MvPolynomial.aevalTower_idₓ'. -/
@[simp]
theorem aevalTower_id : aevalTower (AlgHom.id S S) = (aeval : (σ → S) → MvPolynomial σ S →ₐ[S] S) :=
by ext; simp only [aeval_tower_X, aeval_X]
#align mv_polynomial.aeval_tower_id MvPolynomial.aevalTower_id
-/- warning: mv_polynomial.aeval_tower_of_id -> MvPolynomial.aevalTower_ofId is a dubious translation:
-lean 3 declaration is
- forall {σ : Type.{u1}} {S : Type.{u2}} {A : Type.{u3}} [_inst_3 : CommSemiring.{u2} S] [_inst_4 : CommSemiring.{u3} A] [_inst_7 : Algebra.{u2, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4)], Eq.{max (max (succ u1) (succ u3)) (succ (max u1 u2)) (succ u3)} ((σ -> A) -> (AlgHom.{u2, max u1 u2, u3} S (MvPolynomial.{u1, u2} σ S _inst_3) A _inst_3 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ S _inst_3) (MvPolynomial.commSemiring.{u2, u1} S σ _inst_3)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u2, u2, u1} S S σ _inst_3 _inst_3 (Algebra.id.{u2} S _inst_3)) _inst_7)) (MvPolynomial.aevalTower.{u2, u1, u2, u3} S σ _inst_3 S A _inst_3 _inst_4 (Algebra.id.{u2} S _inst_3) _inst_7 (Algebra.ofId.{u2, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (MvPolynomial.aeval.{u2, u3, u1} S A σ _inst_3 _inst_4 _inst_7)
-but is expected to have type
- forall {σ : Type.{u3}} {S : Type.{u2}} {A : Type.{u1}} [_inst_3 : CommSemiring.{u2} S] [_inst_4 : CommSemiring.{u1} A] [_inst_7 : Algebra.{u2, u1} S A _inst_3 (CommSemiring.toSemiring.{u1} A _inst_4)], Eq.{max (max (succ u3) (succ u2)) (succ u1)} ((σ -> A) -> (AlgHom.{u2, max u2 u3, u1} S (MvPolynomial.{u3, u2} σ S _inst_3) A _inst_3 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ S _inst_3) (MvPolynomial.commSemiring.{u2, u3} S σ _inst_3)) (CommSemiring.toSemiring.{u1} A _inst_4) (MvPolynomial.algebra.{u2, u2, u3} S S σ _inst_3 _inst_3 (Algebra.id.{u2} S _inst_3)) _inst_7)) (MvPolynomial.aevalTower.{u2, u3, u2, u1} S σ _inst_3 S A _inst_3 _inst_4 (Algebra.id.{u2} S _inst_3) _inst_7 (Algebra.ofId.{u2, u1} S A _inst_3 (CommSemiring.toSemiring.{u1} A _inst_4) _inst_7)) (MvPolynomial.aeval.{u2, u1, u3} S A σ _inst_3 _inst_4 _inst_7)
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_tower_of_id MvPolynomial.aevalTower_ofIdₓ'. -/
@[simp]
theorem aevalTower_ofId :
aevalTower (Algebra.ofId S A) = (aeval : (σ → A) → MvPolynomial σ S →ₐ[S] A) := by ext;
@@ -2608,9 +1645,6 @@ section EvalMem
variable {S subS : Type _} [CommSemiring S] [SetLike subS S] [SubsemiringClass subS S]
-/- warning: mv_polynomial.eval₂_mem -> MvPolynomial.eval₂_mem is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_mem MvPolynomial.eval₂_memₓ'. -/
theorem eval₂_mem {f : R →+* S} {p : MvPolynomial σ R} {s : subS}
(hs : ∀ i ∈ p.support, f (p.coeff i) ∈ s) {v : σ → S} (hv : ∀ i, v i ∈ s) :
MvPolynomial.eval₂ f v p ∈ s := by
@@ -2637,9 +1671,6 @@ theorem eval₂_mem {f : R →+* S} {p : MvPolynomial σ R} {s : subS}
· rwa [zero_add] at this
#align mv_polynomial.eval₂_mem MvPolynomial.eval₂_mem
-/- warning: mv_polynomial.eval_mem -> MvPolynomial.eval_mem is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval_mem MvPolynomial.eval_memₓ'. -/
theorem eval_mem {p : MvPolynomial σ S} {s : subS} (hs : ∀ i ∈ p.support, p.coeff i ∈ s) {v : σ → S}
(hv : ∀ i, v i ∈ s) : MvPolynomial.eval v p ∈ s :=
eval₂_mem hs hv
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -591,8 +591,7 @@ theorem induction_on_monomial {M : MvPolynomial σ R → Prop} (h_C : ∀ a, M (
by
intro s a
apply @Finsupp.induction σ ℕ _ _ s
- · show M (monomial 0 a)
- exact h_C a
+ · show M (monomial 0 a); exact h_C a
· intro n e p hpn he ih
have : ∀ e : ℕ, M (monomial p a * X n ^ e) :=
by
@@ -665,9 +664,7 @@ theorem induction_on {M : MvPolynomial σ R → Prop} (p : MvPolynomial σ R) (h
<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.ring_hom_ext MvPolynomial.ringHom_extₓ'. -/
theorem ringHom_ext {A : Type _} [Semiring A] {f g : MvPolynomial σ R →+* A}
- (hC : ∀ r, f (C r) = g (C r)) (hX : ∀ i, f (X i) = g (X i)) : f = g :=
- by
- ext
+ (hC : ∀ r, f (C r) = g (C r)) (hX : ∀ i, f (X i) = g (X i)) : f = g := by ext;
exacts[hC _, hX _]
#align mv_polynomial.ring_hom_ext MvPolynomial.ringHom_ext
@@ -1253,16 +1250,11 @@ theorem coeff_mul_monomial' (m) (s : σ →₀ ℕ) (r : R) (p : MvPolynomial σ
· conv_rhs => rw [← coeff_mul_monomial _ s]
congr with t
rw [tsub_add_cancel_of_le h]
- · rw [← not_mem_support_iff]
- intro hm
- apply h
- have H := support_mul _ _ hm
- simp only [Finset.mem_biUnion] at H
+ · rw [← not_mem_support_iff]; intro hm; apply h
+ have H := support_mul _ _ hm; simp only [Finset.mem_biUnion] at H
rcases H with ⟨j, hj, i', hi', H⟩
- rw [support_monomial, if_neg hr, Finset.mem_singleton] at hi'
- subst i'
- rw [Finset.mem_singleton] at H
- subst m
+ rw [support_monomial, if_neg hr, Finset.mem_singleton] at hi'; subst i'
+ rw [Finset.mem_singleton] at H; subst m
exact le_add_left le_rfl
#align mv_polynomial.coeff_mul_monomial' MvPolynomial.coeff_mul_monomial'
@@ -1311,9 +1303,7 @@ lean 3 declaration is
but is expected to have type
forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {p : MvPolynomial.{u1, u2} σ R _inst_1}, Iff (Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u1, u2} σ R _inst_1) p (OfNat.ofNat.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) 0 (Zero.toOfNat0.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (CommMonoidWithZero.toZero.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toCommMonoidWithZero.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))))) (forall (d : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d p) (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.eq_zero_iff MvPolynomial.eq_zero_iffₓ'. -/
-theorem eq_zero_iff {p : MvPolynomial σ R} : p = 0 ↔ ∀ d, coeff d p = 0 :=
- by
- rw [ext_iff]
+theorem eq_zero_iff {p : MvPolynomial σ R} : p = 0 ↔ ∀ d, coeff d p = 0 := by rw [ext_iff];
simp only [coeff_zero]
#align mv_polynomial.eq_zero_iff MvPolynomial.eq_zero_iff
@@ -1323,10 +1313,8 @@ lean 3 declaration is
but is expected to have type
forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {p : MvPolynomial.{u1, u2} σ R _inst_1}, Iff (Ne.{max (succ u2) (succ u1)} (MvPolynomial.{u1, u2} σ R _inst_1) p (OfNat.ofNat.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) 0 (Zero.toOfNat0.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (CommMonoidWithZero.toZero.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toCommMonoidWithZero.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))))) (Exists.{succ u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (fun (d : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Ne.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d p) (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.ne_zero_iff MvPolynomial.ne_zero_iffₓ'. -/
-theorem ne_zero_iff {p : MvPolynomial σ R} : p ≠ 0 ↔ ∃ d, coeff d p ≠ 0 :=
- by
- rw [Ne.def, eq_zero_iff]
- push_neg
+theorem ne_zero_iff {p : MvPolynomial σ R} : p ≠ 0 ↔ ∃ d, coeff d p ≠ 0 := by
+ rw [Ne.def, eq_zero_iff]; push_neg
#align mv_polynomial.ne_zero_iff MvPolynomial.ne_zero_iff
/- warning: mv_polynomial.support_eq_empty -> MvPolynomial.support_eq_empty is a dubious translation:
@@ -1359,9 +1347,7 @@ Case conversion may be inaccurate. Consider using '#align mv_polynomial.C_dvd_if
theorem C_dvd_iff_dvd_coeff (r : R) (φ : MvPolynomial σ R) : C r ∣ φ ↔ ∀ i, r ∣ φ.coeff i :=
by
constructor
- · rintro ⟨φ, rfl⟩ c
- rw [coeff_C_mul]
- apply dvd_mul_right
+ · rintro ⟨φ, rfl⟩ c; rw [coeff_C_mul]; apply dvd_mul_right
· intro h
choose c hc using h
classical
@@ -1373,8 +1359,7 @@ theorem C_dvd_iff_dvd_coeff (r : R) (φ : MvPolynomial σ R) : C r ∣ φ ↔
simp only [coeff_C_mul, coeff_sum, coeff_monomial, Finset.sum_ite_eq', c']
split_ifs with hi hi
· rw [hc]
- · rw [not_mem_support_iff] at hi
- rwa [MulZeroClass.mul_zero]
+ · rw [not_mem_support_iff] at hi; rwa [MulZeroClass.mul_zero]
#align mv_polynomial.C_dvd_iff_dvd_coeff MvPolynomial.C_dvd_iff_dvd_coeff
end Coeff
@@ -1458,10 +1443,8 @@ but is expected to have type
forall (R : Type.{u2}) (σ : Type.{u1}) [_inst_1 : CommSemiring.{u2} R], Eq.{succ u2} (RingHom.{u2, u2} R R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.comp.{u2, max u1 u2, u2} R (MvPolynomial.{u1, u2} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) (MvPolynomial.C.{u2, u1} R σ _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.constant_coeff_comp_C MvPolynomial.constantCoeff_comp_Cₓ'. -/
@[simp]
-theorem constantCoeff_comp_C : constantCoeff.comp (C : R →+* MvPolynomial σ R) = RingHom.id R :=
- by
- ext x
- exact constant_coeff_C σ x
+theorem constantCoeff_comp_C : constantCoeff.comp (C : R →+* MvPolynomial σ R) = RingHom.id R := by
+ ext x; exact constant_coeff_C σ x
#align mv_polynomial.constant_coeff_comp_C MvPolynomial.constantCoeff_comp_C
/- warning: mv_polynomial.constant_coeff_comp_algebra_map -> MvPolynomial.constantCoeff_comp_algebraMap is a dubious translation:
@@ -1534,10 +1517,8 @@ but is expected to have type
forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : Fintype.{u1} σ] (g : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (x : σ -> S₁) (f : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} S₁ (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 g x f) (Finset.sum.{u3, u1} S₁ (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (MvPolynomial.support.{u2, u1} R σ _inst_1 f) (fun (d : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => HMul.hMul.{u3, u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f)) S₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f)) (instHMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f)) (NonUnitalNonAssocSemiring.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f)) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f)) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f)) _inst_2))))) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) g (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f)) (Finset.prod.{u3, u1} S₁ σ (CommSemiring.toCommMonoid.{u3} S₁ _inst_2) (Finset.univ.{u1} σ _inst_3) (fun (i : σ) => HPow.hPow.{u3, 0, u3} S₁ ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : σ) => Nat) i) S₁ (instHPow.{u3, 0} S₁ ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : σ) => Nat) i) (Monoid.Pow.{u3} S₁ (MonoidWithZero.toMonoid.{u3} S₁ (Semiring.toMonoidWithZero.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))))) (x i) (FunLike.coe.{succ u1, succ u1, 1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) σ (fun (_x : σ) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : σ) => Nat) _x) (Finsupp.funLike.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) d i)))))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_eq' MvPolynomial.eval₂_eq'ₓ'. -/
theorem eval₂_eq' [Fintype σ] (g : R →+* S₁) (x : σ → S₁) (f : MvPolynomial σ R) :
- f.eval₂ g x = ∑ d in f.support, g (f.coeff d) * ∏ i, x i ^ d i :=
- by
- simp only [eval₂_eq, ← Finsupp.prod_pow]
- rfl
+ f.eval₂ g x = ∑ d in f.support, g (f.coeff d) * ∏ i, x i ^ d i := by
+ simp only [eval₂_eq, ← Finsupp.prod_pow]; rfl
#align mv_polynomial.eval₂_eq' MvPolynomial.eval₂_eq'
/- warning: mv_polynomial.eval₂_zero -> MvPolynomial.eval₂_zero is a dubious translation:
@@ -1614,8 +1595,7 @@ theorem eval₂_mul_monomial :
apply MvPolynomial.induction_on p
· intro a' s a
simp [C_mul_monomial, eval₂_monomial, f.map_mul]
- · intro p q ih_p ih_q
- simp [add_mul, eval₂_add, ih_p, ih_q]
+ · intro p q ih_p ih_q; simp [add_mul, eval₂_add, ih_p, ih_q]
· intro p n ih s a
exact
calc
@@ -1657,9 +1637,7 @@ but is expected to have type
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_pow MvPolynomial.eval₂_powₓ'. -/
@[simp]
theorem eval₂_pow {p : MvPolynomial σ R} : ∀ {n : ℕ}, (p ^ n).eval₂ f g = p.eval₂ f g ^ n
- | 0 => by
- rw [pow_zero, pow_zero]
- exact eval₂_one _ _
+ | 0 => by rw [pow_zero, pow_zero]; exact eval₂_one _ _
| n + 1 => by rw [pow_add, pow_one, pow_add, pow_one, eval₂_mul, eval₂_pow]
#align mv_polynomial.eval₂_pow MvPolynomial.eval₂_pow
@@ -1726,20 +1704,16 @@ theorem comp_eval₂Hom [CommSemiring S₂] (f : R →+* S₁) (g : σ → S₁)
φ.comp (eval₂Hom f g) = eval₂Hom (φ.comp f) fun i => φ (g i) :=
by
apply MvPolynomial.ringHom_ext
- · intro r
- rw [RingHom.comp_apply, eval₂_hom_C, eval₂_hom_C, RingHom.comp_apply]
- · intro i
- rw [RingHom.comp_apply, eval₂_hom_X', eval₂_hom_X']
+ · intro r; rw [RingHom.comp_apply, eval₂_hom_C, eval₂_hom_C, RingHom.comp_apply]
+ · intro i; rw [RingHom.comp_apply, eval₂_hom_X', eval₂_hom_X']
#align mv_polynomial.comp_eval₂_hom MvPolynomial.comp_eval₂Hom
/- warning: mv_polynomial.map_eval₂_hom -> MvPolynomial.map_eval₂Hom is a dubious translation:
<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.map_eval₂_hom MvPolynomial.map_eval₂Homₓ'. -/
theorem map_eval₂Hom [CommSemiring S₂] (f : R →+* S₁) (g : σ → S₁) (φ : S₁ →+* S₂)
- (p : MvPolynomial σ R) : φ (eval₂Hom f g p) = eval₂Hom (φ.comp f) (fun i => φ (g i)) p :=
- by
- rw [← comp_eval₂_hom]
- rfl
+ (p : MvPolynomial σ R) : φ (eval₂Hom f g p) = eval₂Hom (φ.comp f) (fun i => φ (g i)) p := by
+ rw [← comp_eval₂_hom]; rfl
#align mv_polynomial.map_eval₂_hom MvPolynomial.map_eval₂Hom
/- warning: mv_polynomial.eval₂_hom_monomial -> MvPolynomial.eval₂Hom_monomial is a dubious translation:
@@ -2014,10 +1988,8 @@ theorem map_map [CommSemiring S₂] (g : S₁ →+* S₂) (p : MvPolynomial σ R
(eval₂_comp_left (map g) (C.comp f) X p).trans <|
by
congr
- · ext1 a
- simp only [map_C, comp_app, RingHom.coe_comp]
- · ext1 n
- simp only [map_X, comp_app]
+ · ext1 a; simp only [map_C, comp_app, RingHom.coe_comp]
+ · ext1 n; simp only [map_X, comp_app]
#align mv_polynomial.map_map MvPolynomial.map_map
/- warning: mv_polynomial.eval₂_eq_eval_map -> MvPolynomial.eval₂_eq_eval_map is a dubious translation:
@@ -2030,10 +2002,8 @@ theorem eval₂_eq_eval_map (g : σ → S₁) (p : MvPolynomial σ R) : p.eval
dsimp at h
rw [h]
congr
- · ext1 a
- simp only [coe_eval₂_hom, RingHom.id_apply, comp_app, eval₂_C, RingHom.coe_comp]
- · ext1 n
- simp only [comp_app, eval₂_X]
+ · ext1 a; simp only [coe_eval₂_hom, RingHom.id_apply, comp_app, eval₂_C, RingHom.coe_comp]
+ · ext1 n; simp only [comp_app, eval₂_X]
#align mv_polynomial.eval₂_eq_eval_map MvPolynomial.eval₂_eq_eval_map
/- warning: mv_polynomial.eval₂_comp_right -> MvPolynomial.eval₂_comp_right is a dubious translation:
@@ -2043,10 +2013,8 @@ theorem eval₂_comp_right {S₂} [CommSemiring S₂] (k : S₁ →+* S₂) (f :
k (eval₂ f g p) = eval₂ k (k ∘ g) (map f p) :=
by
apply MvPolynomial.induction_on p
- · intro r
- rw [eval₂_C, map_C, eval₂_C]
- · intro p q hp hq
- rw [eval₂_add, k.map_add, (map f).map_add, eval₂_add, hp, hq]
+ · intro r; rw [eval₂_C, map_C, eval₂_C]
+ · intro p q hp hq; rw [eval₂_add, k.map_add, (map f).map_add, eval₂_add, hp, hq]
· intro p s hp
rw [eval₂_mul, k.map_mul, (map f).map_mul, eval₂_mul, map_X, hp, eval₂_X, eval₂_X]
#align mv_polynomial.eval₂_comp_right MvPolynomial.eval₂_comp_right
@@ -2058,10 +2026,8 @@ theorem map_eval₂ (f : R →+* S₁) (g : S₂ → MvPolynomial S₃ R) (p : M
map f (eval₂ C g p) = eval₂ C (map f ∘ g) (map f p) :=
by
apply MvPolynomial.induction_on p
- · intro r
- rw [eval₂_C, map_C, map_C, eval₂_C]
- · intro p q hp hq
- rw [eval₂_add, (map f).map_add, hp, hq, (map f).map_add, eval₂_add]
+ · intro r; rw [eval₂_C, map_C, map_C, eval₂_C]
+ · intro p q hp hq; rw [eval₂_add, (map f).map_add, hp, hq, (map f).map_add, eval₂_add]
· intro p s hp
rw [eval₂_mul, (map f).map_mul, hp, (map f).map_mul, map_X, eval₂_mul, eval₂_X, eval₂_X]
#align mv_polynomial.map_eval₂ MvPolynomial.map_eval₂
@@ -2072,20 +2038,11 @@ Case conversion may be inaccurate. Consider using '#align mv_polynomial.coeff_ma
theorem coeff_map (p : MvPolynomial σ R) : ∀ m : σ →₀ ℕ, coeff m (map f p) = f (coeff m p) := by
classical
apply MvPolynomial.induction_on p <;> clear p
- · intro r m
- rw [map_C]
- simp only [coeff_C]
- split_ifs
- · rfl
- rw [f.map_zero]
- · intro p q hp hq m
- simp only [hp, hq, (map f).map_add, coeff_add]
- rw [f.map_add]
- · intro p i hp m
- simp only [hp, (map f).map_mul, map_X]
+ · intro r m; rw [map_C]; simp only [coeff_C]; split_ifs; · rfl; rw [f.map_zero]
+ · intro p q hp hq m; simp only [hp, hq, (map f).map_add, coeff_add]; rw [f.map_add]
+ · intro p i hp m; simp only [hp, (map f).map_mul, map_X]
simp only [hp, mem_support_iff, coeff_mul_X']
- split_ifs
- · rfl
+ split_ifs; · rfl
rw [f.map_zero]
#align mv_polynomial.coeff_map MvPolynomial.coeff_map
@@ -2334,10 +2291,7 @@ theorem aeval_C (r : R) : aeval f (C r) = algebraMap R S₁ r :=
/- warning: mv_polynomial.aeval_unique -> MvPolynomial.aeval_unique is a dubious translation:
<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_unique MvPolynomial.aeval_uniqueₓ'. -/
-theorem aeval_unique (φ : MvPolynomial σ R →ₐ[R] S₁) : φ = aeval (φ ∘ X) :=
- by
- ext i
- simp
+theorem aeval_unique (φ : MvPolynomial σ R →ₐ[R] S₁) : φ = aeval (φ ∘ X) := by ext i; simp
#align mv_polynomial.aeval_unique MvPolynomial.aeval_unique
/- warning: mv_polynomial.aeval_X_left -> MvPolynomial.aeval_X_left is a dubious translation:
@@ -2361,10 +2315,7 @@ theorem aeval_X_left_apply (p : MvPolynomial σ R) : aeval X p = p :=
<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.comp_aeval MvPolynomial.comp_aevalₓ'. -/
theorem comp_aeval {B : Type _} [CommSemiring B] [Algebra R B] (φ : S₁ →ₐ[R] B) :
- φ.comp (aeval f) = aeval fun i => φ (f i) :=
- by
- ext i
- simp
+ φ.comp (aeval f) = aeval fun i => φ (f i) := by ext i; simp
#align mv_polynomial.comp_aeval MvPolynomial.comp_aeval
/- warning: mv_polynomial.map_aeval -> MvPolynomial.map_aeval is a dubious translation:
@@ -2372,10 +2323,8 @@ theorem comp_aeval {B : Type _} [CommSemiring B] [Algebra R B] (φ : S₁ →ₐ
Case conversion may be inaccurate. Consider using '#align mv_polynomial.map_aeval MvPolynomial.map_aevalₓ'. -/
@[simp]
theorem map_aeval {B : Type _} [CommSemiring B] (g : σ → S₁) (φ : S₁ →+* B) (p : MvPolynomial σ R) :
- φ (aeval g p) = eval₂Hom (φ.comp (algebraMap R S₁)) (fun i => φ (g i)) p :=
- by
- rw [← comp_eval₂_hom]
- rfl
+ φ (aeval g p) = eval₂Hom (φ.comp (algebraMap R S₁)) (fun i => φ (g i)) p := by
+ rw [← comp_eval₂_hom]; rfl
#align mv_polynomial.map_aeval MvPolynomial.map_aeval
/- warning: mv_polynomial.eval₂_hom_zero -> MvPolynomial.eval₂Hom_zero is a dubious translation:
@@ -2638,9 +2587,7 @@ but is expected to have type
Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_tower_id MvPolynomial.aevalTower_idₓ'. -/
@[simp]
theorem aevalTower_id : aevalTower (AlgHom.id S S) = (aeval : (σ → S) → MvPolynomial σ S →ₐ[S] S) :=
- by
- ext
- simp only [aeval_tower_X, aeval_X]
+ by ext; simp only [aeval_tower_X, aeval_X]
#align mv_polynomial.aeval_tower_id MvPolynomial.aevalTower_id
/- warning: mv_polynomial.aeval_tower_of_id -> MvPolynomial.aevalTower_ofId is a dubious translation:
@@ -2651,9 +2598,7 @@ but is expected to have type
Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_tower_of_id MvPolynomial.aevalTower_ofIdₓ'. -/
@[simp]
theorem aevalTower_ofId :
- aevalTower (Algebra.ofId S A) = (aeval : (σ → A) → MvPolynomial σ S →ₐ[S] A) :=
- by
- ext
+ aevalTower (Algebra.ofId S A) = (aeval : (σ → A) → MvPolynomial σ S →ₐ[S] A) := by ext;
simp only [aeval_X, aeval_tower_X]
#align mv_polynomial.aeval_tower_of_id MvPolynomial.aevalTower_ofId
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -186,10 +186,7 @@ theorem single_eq_monomial (s : σ →₀ ℕ) (a : R) : single s a = monomial s
#align mv_polynomial.single_eq_monomial MvPolynomial.single_eq_monomial
/- warning: mv_polynomial.mul_def -> MvPolynomial.mul_def is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {p : MvPolynomial.{u2, u1} σ R _inst_1} {q : MvPolynomial.{u2, u1} σ R _inst_1}, Eq.{succ (max u2 u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) p q) (Finsupp.sum.{u2, u1, max u2 u1} (Finsupp.{u2, 0} σ Nat Nat.hasZero) R (MvPolynomial.{u2, u1} σ R _inst_1) (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (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))))) p (fun (m : Finsupp.{u2, 0} σ Nat Nat.hasZero) (a : R) => Finsupp.sum.{u2, u1, max u2 u1} (Finsupp.{u2, 0} σ Nat Nat.hasZero) R (MvPolynomial.{u2, u1} σ R _inst_1) (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (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))))) q (fun (n : Finsupp.{u2, 0} σ Nat Nat.hasZero) (b : R) => coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 (HAdd.hAdd.{u2, u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (instHAdd.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.add.{u2, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) m n)) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) a b))))
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {p : MvPolynomial.{u1, u2} σ R _inst_1} {q : MvPolynomial.{u1, u2} σ R _inst_1}, Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u1, u2} σ R _inst_1) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) p q) (Finsupp.sum.{u1, u2, max u2 u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) p (fun (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (a : R) => Finsupp.sum.{u1, u2, max u2 u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) q (fun (n : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (b : R) => FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 (HAdd.hAdd.{u1, u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHAdd.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.add.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) m n)) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) a b))))
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.mul_def MvPolynomial.mul_defₓ'. -/
theorem mul_def : p * q = p.Sum fun m a => q.Sum fun n b => monomial (m + n) (a * b) :=
rfl
@@ -235,10 +232,7 @@ theorem monomial_left_injective {r : R} (hr : r ≠ 0) :
#align mv_polynomial.monomial_left_injective MvPolynomial.monomial_left_injective
/- warning: mv_polynomial.monomial_left_inj -> MvPolynomial.monomial_left_inj is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {s : Finsupp.{u2, 0} σ Nat Nat.hasZero} {t : Finsupp.{u2, 0} σ Nat Nat.hasZero} {r : R}, (Ne.{succ u1} R r (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) -> (Iff (Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) r) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 t) r)) (Eq.{succ u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) s t))
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} {t : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} {r : R}, (Ne.{succ u2} R r (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) -> (Iff (Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) r) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 t) r)) (Eq.{succ u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) s t))
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.monomial_left_inj MvPolynomial.monomial_left_injₓ'. -/
@[simp]
theorem monomial_left_inj {s t : σ →₀ ℕ} {r : R} (hr : r ≠ 0) :
@@ -247,10 +241,7 @@ theorem monomial_left_inj {s t : σ →₀ ℕ} {r : R} (hr : r ≠ 0) :
#align mv_polynomial.monomial_left_inj MvPolynomial.monomial_left_inj
/- warning: mv_polynomial.C_apply -> MvPolynomial.C_apply is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} {a : R} [_inst_1 : CommSemiring.{u1} R], Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 (OfNat.ofNat.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (OfNat.mk.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (Zero.zero.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.zero.{u2, 0} σ Nat Nat.hasZero))))) a)
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (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.2397 : 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) a) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 (OfNat.ofNat.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) 0 (Zero.toOfNat0.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.zero.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))))) a)
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.C_apply MvPolynomial.C_applyₓ'. -/
theorem C_apply : (C a : MvPolynomial σ R) = monomial 0 a :=
rfl
@@ -278,20 +269,14 @@ theorem C_1 : C 1 = (1 : MvPolynomial σ R) :=
#align mv_polynomial.C_1 MvPolynomial.C_1
/- warning: mv_polynomial.C_mul_monomial -> MvPolynomial.C_mul_monomial is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} {a : R} {a' : R} {s : Finsupp.{u2, 0} σ Nat Nat.hasZero} [_inst_1 : CommSemiring.{u1} R], Eq.{succ (max u2 u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) a')) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) a a'))
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} {a' : R} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) a a')) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a') ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) a a')) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} 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 (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : 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) a) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a')) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) a a'))
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.C_mul_monomial MvPolynomial.C_mul_monomialₓ'. -/
theorem C_mul_monomial : C a * monomial s a' = monomial s (a * a') := by
simp [C_apply, monomial, single_mul_single]
#align mv_polynomial.C_mul_monomial MvPolynomial.C_mul_monomial
/- warning: mv_polynomial.C_add -> MvPolynomial.C_add is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} {a : R} {a' : R} [_inst_1 : CommSemiring.{u1} R], Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) (HAdd.hAdd.{u1, u1, u1} R R R (instHAdd.{u1} R (Distrib.toHasAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) a a')) (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHAdd.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasAdd.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a'))
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} {a' : R} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (HAdd.hAdd.{u2, u2, u2} R R R (instHAdd.{u2} R (Distrib.toAdd.{u2} R (NonUnitalNonAssocSemiring.toDistrib.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) a a')) (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.2397 : 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) (HAdd.hAdd.{u2, u2, u2} R R R (instHAdd.{u2} R (Distrib.toAdd.{u2} R (NonUnitalNonAssocSemiring.toDistrib.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) a a')) (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a') ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (HAdd.hAdd.{u2, u2, u2} R R R (instHAdd.{u2} R (Distrib.toAdd.{u2} R (NonUnitalNonAssocSemiring.toDistrib.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) a a')) (instHAdd.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Distrib.toAdd.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toDistrib.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} 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 (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : 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) a) (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.2397 : 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) a'))
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.C_add MvPolynomial.C_addₓ'. -/
@[simp]
theorem C_add : (C (a + a') : MvPolynomial σ R) = C a + C a' :=
@@ -299,10 +284,7 @@ theorem C_add : (C (a + a') : MvPolynomial σ R) = C a + C a' :=
#align mv_polynomial.C_add MvPolynomial.C_add
/- warning: mv_polynomial.C_mul -> MvPolynomial.C_mul is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} {a : R} {a' : R} [_inst_1 : CommSemiring.{u1} R], Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) a a')) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a'))
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} {a' : R} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) a a')) (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.2397 : 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) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) a a')) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a') ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) a a')) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} 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 (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : 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) a) (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.2397 : 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) a'))
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.C_mul MvPolynomial.C_mulₓ'. -/
@[simp]
theorem C_mul : (C (a * a') : MvPolynomial σ R) = C a * C a' :=
@@ -310,10 +292,7 @@ theorem C_mul : (C (a * a') : MvPolynomial σ R) = C a * C a' :=
#align mv_polynomial.C_mul MvPolynomial.C_mul
/- warning: mv_polynomial.C_pow -> MvPolynomial.C_pow is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (a : R) (n : Nat), Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) a n)) (HPow.hPow.{max u2 u1, 0, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) Nat (MvPolynomial.{u2, u1} σ R _inst_1) (instHPow.{max u2 u1, 0} (MvPolynomial.{u2, u1} σ R _inst_1) Nat (Monoid.Pow.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MonoidWithZero.toMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a) n)
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (a : R) (n : Nat), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (HPow.hPow.{u2, 0, u2} R Nat R (instHPow.{u2, 0} R Nat (Monoid.Pow.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) a n)) (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.2397 : 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) (HPow.hPow.{u2, 0, u2} R Nat R (instHPow.{u2, 0} R Nat (Monoid.Pow.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) a n)) (HPow.hPow.{max u2 u1, 0, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) Nat ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (instHPow.{max u2 u1, 0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) Nat (Monoid.Pow.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MonoidWithZero.toMonoid.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toMonoidWithZero.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} 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 (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : 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) a) n)
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.C_pow MvPolynomial.C_powₓ'. -/
@[simp]
theorem C_pow (a : R) (n : ℕ) : (C (a ^ n) : MvPolynomial σ R) = C a ^ n := by
@@ -411,10 +390,7 @@ theorem C_eq_smul_one : (C a : MvPolynomial σ R) = a • 1 := by rw [← C_mul'
#align mv_polynomial.C_eq_smul_one MvPolynomial.C_eq_smul_one
/- warning: mv_polynomial.smul_monomial -> MvPolynomial.smul_monomial is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} {a : R} {s : Finsupp.{u2, 0} σ Nat Nat.hasZero} [_inst_1 : CommSemiring.{u1} R] {S₁ : Type.{u3}} [_inst_3 : SMulZeroClass.{u3, u1} S₁ R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))] (r : S₁), Eq.{succ (max u2 u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (SMul.smul.{u3, max u2 u1} S₁ (MvPolynomial.{u2, u1} σ R _inst_1) (SMulZeroClass.toHasSmul.{u3, max u2 u1} S₁ (MvPolynomial.{u2, u1} σ R _inst_1) (MulZeroClass.toHasZero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toMulZeroClass.{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)))))) (MvPolynomial.smulZeroClass.{u3, u1, u2} S₁ R σ _inst_1 _inst_3)) r (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) a)) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) (SMul.smul.{u3, u1} S₁ R (SMulZeroClass.toHasSmul.{u3, u1} S₁ R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) _inst_3) r a))
-but is expected to have type
- forall {R : Type.{u3}} {σ : Type.{u1}} {a : R} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u3} R] {S₁ : Type.{u2}} [_inst_3 : SMulZeroClass.{u2, u3} S₁ R (CommMonoidWithZero.toZero.{u3} R (CommSemiring.toCommMonoidWithZero.{u3} R _inst_1))] (r : S₁), Eq.{max (succ u3) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (HSMul.hSMul.{u2, max u3 u1, max u3 u1} S₁ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (instHSMul.{u2, max u3 u1} S₁ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (SMulZeroClass.toSMul.{u2, max u3 u1} S₁ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (CommMonoidWithZero.toZero.{max u3 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (CommSemiring.toCommMonoidWithZero.{max u3 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (MvPolynomial.smulZeroClass.{u2, u3, u1} S₁ R σ _inst_1 _inst_3))) r (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearMap.{u3, u3, u3, max u3 u1} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) 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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u3} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 s) a)) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearMap.{u3, u3, u3, max u3 u1} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) 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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u3} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 s) (HSMul.hSMul.{u2, u3, u3} S₁ R R (instHSMul.{u2, u3} S₁ R (SMulZeroClass.toSMul.{u2, u3} S₁ R (CommMonoidWithZero.toZero.{u3} R (CommSemiring.toCommMonoidWithZero.{u3} R _inst_1)) _inst_3)) r a))
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.smul_monomial MvPolynomial.smul_monomialₓ'. -/
theorem smul_monomial {S₁ : Type _} [SMulZeroClass S₁ R] (r : S₁) :
r • monomial s a = monomial s (r • a) :=
@@ -443,20 +419,14 @@ theorem X_inj [Nontrivial R] (m n : σ) : X m = (X n : MvPolynomial σ R) ↔ m
#align mv_polynomial.X_inj MvPolynomial.X_inj
/- warning: mv_polynomial.monomial_pow -> MvPolynomial.monomial_pow is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} {a : R} {e : Nat} {s : Finsupp.{u2, 0} σ Nat Nat.hasZero} [_inst_1 : CommSemiring.{u1} R], Eq.{succ (max u2 u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (HPow.hPow.{max u2 u1, 0, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) Nat (MvPolynomial.{u2, u1} σ R _inst_1) (instHPow.{max u2 u1, 0} (MvPolynomial.{u2, u1} σ R _inst_1) Nat (Monoid.Pow.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MonoidWithZero.toMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) a) e) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 (SMul.smul.{0, u2} Nat (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.hasNatScalar.{u2, 0} σ Nat Nat.addMonoid) e s)) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) a e))
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} {e : Nat} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (HPow.hPow.{max u2 u1, 0, max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) Nat ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (instHPow.{max u2 u1, 0} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) Nat (Monoid.Pow.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MonoidWithZero.toMonoid.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toMonoidWithZero.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a) e) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 (HSMul.hSMul.{0, u1, u1} Nat (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHSMul.{0, u1} Nat (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.hasNatScalar.{u1, 0} σ Nat Nat.addMonoid)) e s)) (HPow.hPow.{u2, 0, u2} R Nat R (instHPow.{u2, 0} R Nat (Monoid.Pow.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) a e))
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.monomial_pow MvPolynomial.monomial_powₓ'. -/
theorem monomial_pow : monomial s a ^ e = monomial (e • s) (a ^ e) :=
AddMonoidAlgebra.single_pow e
#align mv_polynomial.monomial_pow MvPolynomial.monomial_pow
/- warning: mv_polynomial.monomial_mul -> MvPolynomial.monomial_mul is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {s : Finsupp.{u2, 0} σ Nat Nat.hasZero} {s' : Finsupp.{u2, 0} σ Nat Nat.hasZero} {a : R} {b : R}, Eq.{succ (max u2 u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) a) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s') b)) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 (HAdd.hAdd.{u2, u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (instHAdd.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.add.{u2, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) s s')) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) a b))
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} {s' : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} {a : R} {b : R}, Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) b) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s') b)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 (HAdd.hAdd.{u1, u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHAdd.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.add.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) s s')) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) a b))
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.monomial_mul MvPolynomial.monomial_mulₓ'. -/
@[simp]
theorem monomial_mul {s s' : σ →₀ ℕ} {a b : R} :
@@ -476,10 +446,7 @@ def monomialOneHom : Multiplicative (σ →₀ ℕ) →* MvPolynomial σ R :=
variable {σ R}
/- warning: mv_polynomial.monomial_one_hom_apply -> MvPolynomial.monomialOneHom_apply is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} {s : Finsupp.{u2, 0} σ Nat Nat.hasZero} [_inst_1 : CommSemiring.{u1} R], Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ (max u2 u1)) (succ u2), max (succ u2) (succ (max u2 u1))} (MonoidHom.{u2, max u2 u1} (Multiplicative.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (MvPolynomial.{u2, u1} σ R _inst_1) (Multiplicative.mulOneClass.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.addZeroClass.{u2, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (MulZeroOneClass.toMulOneClass.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toMulZeroOneClass.{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)))))) (fun (_x : MonoidHom.{u2, max u2 u1} (Multiplicative.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (MvPolynomial.{u2, u1} σ R _inst_1) (Multiplicative.mulOneClass.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.addZeroClass.{u2, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (MulZeroOneClass.toMulOneClass.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toMulZeroOneClass.{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)))))) => (Multiplicative.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) -> (MvPolynomial.{u2, u1} σ R _inst_1)) (MonoidHom.hasCoeToFun.{u2, max u2 u1} (Multiplicative.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (MvPolynomial.{u2, u1} σ R _inst_1) (Multiplicative.mulOneClass.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.addZeroClass.{u2, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (MulZeroOneClass.toMulOneClass.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toMulZeroOneClass.{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)))))) (MvPolynomial.monomialOneHom.{u1, u2} R σ _inst_1) s) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) => MvPolynomial.{u1, u2} σ R _inst_1) s) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (MonoidHom.{u1, max u2 u1} (Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.{u1, u2} σ R _inst_1) (Multiplicative.mulOneClass.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (MulZeroOneClass.toMulOneClass.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (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)))))) (Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (fun (_x : Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} (Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.{u1, u2} σ R _inst_1) (Multiplicative.mulOneClass.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (MulZeroOneClass.toMulOneClass.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (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)))))) (Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.{u1, u2} σ R _inst_1) (MulOneClass.toMul.{u1} (Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Multiplicative.mulOneClass.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)))) (MulOneClass.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MulZeroOneClass.toMulOneClass.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (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)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} (Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.{u1, u2} σ R _inst_1) (Multiplicative.mulOneClass.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (MulZeroOneClass.toMulOneClass.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (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)))))) (Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.{u1, u2} σ R _inst_1) (Multiplicative.mulOneClass.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (MulZeroOneClass.toMulOneClass.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (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))))) (MonoidHom.monoidHomClass.{u1, max u2 u1} (Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.{u1, u2} σ R _inst_1) (Multiplicative.mulOneClass.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (MulZeroOneClass.toMulOneClass.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (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)))))))) (MvPolynomial.monomialOneHom.{u2, u1} R σ _inst_1) s) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.monomial_one_hom_apply MvPolynomial.monomialOneHom_applyₓ'. -/
@[simp]
theorem monomialOneHom_apply : monomialOneHom R σ s = (monomial s 1 : MvPolynomial σ R) :=
@@ -496,40 +463,28 @@ theorem X_pow_eq_monomial : X n ^ e = monomial (single n e) (1 : R) := by simp [
#align mv_polynomial.X_pow_eq_monomial MvPolynomial.X_pow_eq_monomial
/- warning: mv_polynomial.monomial_add_single -> MvPolynomial.monomial_add_single is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} {a : R} {e : Nat} {n : σ} {s : Finsupp.{u2, 0} σ Nat Nat.hasZero} [_inst_1 : CommSemiring.{u1} R], Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 (HAdd.hAdd.{u2, u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (instHAdd.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.add.{u2, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) s (Finsupp.single.{u2, 0} σ Nat Nat.hasZero n e))) a) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) a) (HPow.hPow.{max u2 u1, 0, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) Nat (MvPolynomial.{u2, u1} σ R _inst_1) (instHPow.{max u2 u1, 0} (MvPolynomial.{u2, u1} σ R _inst_1) Nat (Monoid.Pow.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MonoidWithZero.toMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (MvPolynomial.X.{u1, u2} R σ _inst_1 n) e))
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} {e : Nat} {n : σ} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 (HAdd.hAdd.{u1, u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHAdd.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.add.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) s (Finsupp.single.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) n e))) a) (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a) (HPow.hPow.{max u1 u2, 0, max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (MvPolynomial.{u1, u2} σ R _inst_1) (instHPow.{max u1 u2, 0} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (Monoid.Pow.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (MvPolynomial.X.{u2, u1} R σ _inst_1 n) e))
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.monomial_add_single MvPolynomial.monomial_add_singleₓ'. -/
theorem monomial_add_single : monomial (s + single n e) a = monomial s a * X n ^ e := by
rw [X_pow_eq_monomial, monomial_mul, mul_one]
#align mv_polynomial.monomial_add_single MvPolynomial.monomial_add_single
/- warning: mv_polynomial.monomial_single_add -> MvPolynomial.monomial_single_add is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} {a : R} {e : Nat} {n : σ} {s : Finsupp.{u2, 0} σ Nat Nat.hasZero} [_inst_1 : CommSemiring.{u1} R], Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 (HAdd.hAdd.{u2, u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (instHAdd.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.add.{u2, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Finsupp.single.{u2, 0} σ Nat Nat.hasZero n e) s)) a) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (HPow.hPow.{max u2 u1, 0, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) Nat (MvPolynomial.{u2, u1} σ R _inst_1) (instHPow.{max u2 u1, 0} (MvPolynomial.{u2, u1} σ R _inst_1) Nat (Monoid.Pow.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MonoidWithZero.toMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (MvPolynomial.X.{u1, u2} R σ _inst_1 n) e) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) a))
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} {e : Nat} {n : σ} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 (HAdd.hAdd.{u1, u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHAdd.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.add.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Finsupp.single.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) n e) s)) a) (HMul.hMul.{max u1 u2, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (instHMul.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) (HPow.hPow.{max u1 u2, 0, max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (MvPolynomial.{u1, u2} σ R _inst_1) (instHPow.{max u1 u2, 0} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (Monoid.Pow.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (MvPolynomial.X.{u2, u1} R σ _inst_1 n) e) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a))
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.monomial_single_add MvPolynomial.monomial_single_addₓ'. -/
theorem monomial_single_add : monomial (single n e + s) a = X n ^ e * monomial s a := by
rw [X_pow_eq_monomial, monomial_mul, one_mul]
#align mv_polynomial.monomial_single_add MvPolynomial.monomial_single_add
/- warning: mv_polynomial.C_mul_X_pow_eq_monomial -> MvPolynomial.C_mul_X_pow_eq_monomial is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {s : σ} {a : R} {n : Nat}, Eq.{succ (max u2 u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a) (HPow.hPow.{max u2 u1, 0, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) Nat (MvPolynomial.{u2, u1} σ R _inst_1) (instHPow.{max u2 u1, 0} (MvPolynomial.{u2, u1} σ R _inst_1) Nat (Monoid.Pow.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MonoidWithZero.toMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (MvPolynomial.X.{u1, u2} R σ _inst_1 s) n)) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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.single.{u2, 0} σ Nat Nat.hasZero s n)) a)
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {s : σ} {a : R} {n : Nat}, Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} 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 (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : 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) a) (HPow.hPow.{max u1 u2, 0, max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (MvPolynomial.{u1, u2} σ R _inst_1) (instHPow.{max u1 u2, 0} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (Monoid.Pow.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (MvPolynomial.X.{u2, u1} R σ _inst_1 s) n)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 (Finsupp.single.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) s n)) a)
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.C_mul_X_pow_eq_monomial MvPolynomial.C_mul_X_pow_eq_monomialₓ'. -/
theorem C_mul_X_pow_eq_monomial {s : σ} {a : R} {n : ℕ} : C a * X s ^ n = monomial (single s n) a :=
by rw [← zero_add (single s n), monomial_add_single, C_apply]
#align mv_polynomial.C_mul_X_pow_eq_monomial MvPolynomial.C_mul_X_pow_eq_monomial
/- warning: mv_polynomial.C_mul_X_eq_monomial -> MvPolynomial.C_mul_X_eq_monomial is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {s : σ} {a : R}, Eq.{succ (max u2 u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a) (MvPolynomial.X.{u1, u2} R σ _inst_1 s)) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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.single.{u2, 0} σ Nat Nat.hasZero s (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) a)
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {s : σ} {a : R}, Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} 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 (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : 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) a) (MvPolynomial.X.{u2, u1} R σ _inst_1 s)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 (Finsupp.single.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) s (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) a)
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.C_mul_X_eq_monomial MvPolynomial.C_mul_X_eq_monomialₓ'. -/
theorem C_mul_X_eq_monomial {s : σ} {a : R} : C a * X s = monomial (single s 1) a := by
rw [← C_mul_X_pow_eq_monomial, pow_one]
@@ -547,10 +502,7 @@ theorem monomial_zero {s : σ →₀ ℕ} : monomial s (0 : R) = 0 :=
#align mv_polynomial.monomial_zero MvPolynomial.monomial_zero
/- warning: mv_polynomial.monomial_zero' -> MvPolynomial.monomial_zero' is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R], Eq.{max (succ u2) (succ u1)} ((fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (MvPolynomial.monomial.{u1, u2} R σ _inst_1 (OfNat.ofNat.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (OfNat.mk.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (Zero.zero.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.zero.{u2, 0} σ Nat Nat.hasZero)))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 (OfNat.ofNat.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (OfNat.mk.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (Zero.zero.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.zero.{u2, 0} σ Nat Nat.hasZero)))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1))
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} (forall (a : R), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 (OfNat.ofNat.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) 0 (Zero.toOfNat0.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.zero.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)))))) (FunLike.coe.{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.2397 : 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))
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.monomial_zero' MvPolynomial.monomial_zero'ₓ'. -/
@[simp]
theorem monomial_zero' : (monomial (0 : σ →₀ ℕ) : R → MvPolynomial σ R) = C :=
@@ -593,10 +545,7 @@ theorem sum_C {A : Type _} [AddCommMonoid A] {b : (σ →₀ ℕ) → R → A} (
#align mv_polynomial.sum_C MvPolynomial.sum_C
/- warning: mv_polynomial.monomial_sum_one -> MvPolynomial.monomial_sum_one is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {α : Type.{u3}} (s : Finset.{u3} α) (f : α -> (Finsupp.{u2, 0} σ Nat Nat.hasZero)), Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 (Finset.sum.{u2, u3} (Finsupp.{u2, 0} σ Nat Nat.hasZero) α (Finsupp.addCommMonoid.{u2, 0} σ Nat Nat.addCommMonoid) s (fun (i : α) => f i))) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) (Finset.prod.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) α (CommSemiring.toCommMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) s (fun (i : α) => coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 (f i)) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))))
-but is expected to have type
- forall {R : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] {α : Type.{u2}} (s : Finset.{u2} α) (f : α -> (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))), Eq.{max (succ u3) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u3} σ R _inst_1) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearMap.{u3, u3, u3, max u3 u1} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) 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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u3} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 (Finset.sum.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) α (Finsupp.addCommMonoid.{u1, 0} σ Nat Nat.addCommMonoid) s (fun (i : α) => f i))) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) (Finset.prod.{max u1 u3, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u3} σ R _inst_1) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) α (CommSemiring.toCommMonoid.{max u1 u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u3} σ R _inst_1) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) s (fun (i : α) => FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearMap.{u3, u3, u3, max u3 u1} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) 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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u3} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 (f i)) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))))
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.monomial_sum_one MvPolynomial.monomial_sum_oneₓ'. -/
theorem monomial_sum_one {α : Type _} (s : Finset α) (f : α → σ →₀ ℕ) :
(monomial (∑ i in s, f i) 1 : MvPolynomial σ R) = ∏ i in s, monomial (f i) 1 :=
@@ -604,10 +553,7 @@ theorem monomial_sum_one {α : Type _} (s : Finset α) (f : α → σ →₀ ℕ
#align mv_polynomial.monomial_sum_one MvPolynomial.monomial_sum_one
/- warning: mv_polynomial.monomial_sum_index -> MvPolynomial.monomial_sum_index is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {α : Type.{u3}} (s : Finset.{u3} α) (f : α -> (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (a : R), Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 (Finset.sum.{u2, u3} (Finsupp.{u2, 0} σ Nat Nat.hasZero) α (Finsupp.addCommMonoid.{u2, 0} σ Nat Nat.addCommMonoid) s (fun (i : α) => f i))) a) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a) (Finset.prod.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) α (CommSemiring.toCommMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) s (fun (i : α) => coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 (f i)) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))))
-but is expected to have type
- forall {R : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] {α : Type.{u2}} (s : Finset.{u2} α) (f : α -> (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (a : R), Eq.{max (succ u3) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearMap.{u3, u3, u3, max u3 u1} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) 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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u3} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 (Finset.sum.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) α (Finsupp.addCommMonoid.{u1, 0} σ Nat Nat.addCommMonoid) s (fun (i : α) => f i))) a) (HMul.hMul.{max u3 u1, max u1 u3, max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u3} σ R _inst_1) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (instHMul.{max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (CommSemiring.toSemiring.{max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u3} σ R _inst_1) _x) (MulHomClass.toFunLike.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (RingHom.instRingHomClassRingHom.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (MvPolynomial.C.{u3, u1} R σ _inst_1) a) (Finset.prod.{max u1 u3, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u3} σ R _inst_1) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) α (CommSemiring.toCommMonoid.{max u1 u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u3} σ R _inst_1) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) s (fun (i : α) => FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearMap.{u3, u3, u3, max u3 u1} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) 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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u3} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 (f i)) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))))))
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.monomial_sum_index MvPolynomial.monomial_sum_indexₓ'. -/
theorem monomial_sum_index {α : Type _} (s : Finset α) (f : α → σ →₀ ℕ) (a : R) :
monomial (∑ i in s, f i) a = C a * ∏ i in s, monomial (f i) 1 := by
@@ -615,10 +561,7 @@ theorem monomial_sum_index {α : Type _} (s : Finset α) (f : α → σ →₀
#align mv_polynomial.monomial_sum_index MvPolynomial.monomial_sum_index
/- warning: mv_polynomial.monomial_finsupp_sum_index -> MvPolynomial.monomial_finsupp_sum_index is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {α : Type.{u3}} {β : Type.{u4}} [_inst_3 : Zero.{u4} β] (f : Finsupp.{u3, u4} α β _inst_3) (g : α -> β -> (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (a : R), Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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.sum.{u3, u4, u2} α β (Finsupp.{u2, 0} σ Nat Nat.hasZero) _inst_3 (Finsupp.addCommMonoid.{u2, 0} σ Nat Nat.addCommMonoid) f g)) a) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a) (Finsupp.prod.{u3, u4, max u2 u1} α β (MvPolynomial.{u2, u1} σ R _inst_1) _inst_3 (CommSemiring.toCommMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) f (fun (a : α) (b : β) => coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 (g a b)) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))))
-but is expected to have type
- forall {R : Type.{u4}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u4} R] {α : Type.{u3}} {β : Type.{u2}} [_inst_3 : Zero.{u2} β] (f : Finsupp.{u3, u2} α β _inst_3) (g : α -> β -> (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (a : R), Eq.{max (succ u4) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u4} σ R _inst_1) a) (FunLike.coe.{max (succ u1) (succ u4), succ u4, max (succ u1) (succ u4)} (LinearMap.{u4, u4, u4, max u4 u1} R R (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) R (MvPolynomial.{u1, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (MvPolynomial.module.{u4, u4, u1} R R σ (CommSemiring.toSemiring.{u4} R _inst_1) _inst_1 (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u4} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u4, max u1 u4} R R R (MvPolynomial.{u1, u4} σ R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (MvPolynomial.module.{u4, u4, u1} R R σ (CommSemiring.toSemiring.{u4} R _inst_1) _inst_1 (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (MvPolynomial.monomial.{u4, u1} R σ _inst_1 (Finsupp.sum.{u3, u2, u1} α β (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) _inst_3 (Finsupp.addCommMonoid.{u1, 0} σ Nat Nat.addCommMonoid) f g)) a) (HMul.hMul.{max u4 u1, max u1 u4, max u4 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u4} σ R _inst_1) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u4} σ R _inst_1) (OfNat.ofNat.{u4} R 1 (One.toOfNat1.{u4} R (Semiring.toOne.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u4} σ R _inst_1) a) (instHMul.{max u4 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u4} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u4 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u4} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u4} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u4 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u4} σ R _inst_1) a) (CommSemiring.toSemiring.{max u4 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u4} σ R _inst_1) a) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1)))))) (FunLike.coe.{max (succ u1) (succ u4), succ u4, max (succ u1) (succ u4)} (RingHom.{u4, max u4 u1} R (MvPolynomial.{u1, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u4} σ R _inst_1) _x) (MulHomClass.toFunLike.{max u1 u4, u4, max u1 u4} (RingHom.{u4, max u4 u1} R (MvPolynomial.{u1, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u1, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (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))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u4, u4, max u1 u4} (RingHom.{u4, max u4 u1} R (MvPolynomial.{u1, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u1, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (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)))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u4, u4, max u1 u4} (RingHom.{u4, max u4 u1} R (MvPolynomial.{u1, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u1, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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))) (RingHom.instRingHomClassRingHom.{u4, max u1 u4} R (MvPolynomial.{u1, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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))))))) (MvPolynomial.C.{u4, u1} R σ _inst_1) a) (Finsupp.prod.{u3, u2, max u1 u4} α β ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u4} σ R _inst_1) (OfNat.ofNat.{u4} R 1 (One.toOfNat1.{u4} R (Semiring.toOne.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) _inst_3 (CommSemiring.toCommMonoid.{max u1 u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u4} σ R _inst_1) (OfNat.ofNat.{u4} R 1 (One.toOfNat1.{u4} R (Semiring.toOne.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1)) f (fun (a : α) (b : β) => FunLike.coe.{max (succ u1) (succ u4), succ u4, max (succ u1) (succ u4)} (LinearMap.{u4, u4, u4, max u4 u1} R R (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) R (MvPolynomial.{u1, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (MvPolynomial.module.{u4, u4, u1} R R σ (CommSemiring.toSemiring.{u4} R _inst_1) _inst_1 (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u4} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u4, max u1 u4} R R R (MvPolynomial.{u1, u4} σ R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (MvPolynomial.module.{u4, u4, u1} R R σ (CommSemiring.toSemiring.{u4} R _inst_1) _inst_1 (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (MvPolynomial.monomial.{u4, u1} R σ _inst_1 (g a b)) (OfNat.ofNat.{u4} R 1 (One.toOfNat1.{u4} R (Semiring.toOne.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))))))
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.monomial_finsupp_sum_index MvPolynomial.monomial_finsupp_sum_indexₓ'. -/
theorem monomial_finsupp_sum_index {α β : Type _} [Zero β] (f : α →₀ β) (g : α → β → σ →₀ ℕ)
(a : R) : monomial (f.Sum g) a = C a * f.Prod fun a b => monomial (g a b) 1 :=
@@ -626,10 +569,7 @@ theorem monomial_finsupp_sum_index {α β : Type _} [Zero β] (f : α →₀ β)
#align mv_polynomial.monomial_finsupp_sum_index MvPolynomial.monomial_finsupp_sum_index
/- warning: mv_polynomial.monomial_eq_monomial_iff -> MvPolynomial.monomial_eq_monomial_iff is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {α : Type.{u2}} (a₁ : Finsupp.{u2, 0} α Nat Nat.hasZero) (a₂ : Finsupp.{u2, 0} α Nat Nat.hasZero) (b₁ : R) (b₂ : R), Iff (Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} α R _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} α R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 a₁) b₁) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} α R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 a₂) b₂)) (Or (And (Eq.{succ u2} (Finsupp.{u2, 0} α Nat Nat.hasZero) a₁ a₂) (Eq.{succ u1} R b₁ b₂)) (And (Eq.{succ u1} R b₁ (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) (Eq.{succ u1} R b₂ (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))))
-but is expected to have type
- forall {R : Type.{u2}} [_inst_1 : CommSemiring.{u2} R] {α : Type.{u1}} (a₁ : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (a₂ : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (b₁ : R) (b₂ : R), Iff (Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} α R _inst_1) b₁) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} α R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} α R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R α (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} α R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} α R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} α R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R α (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R α _inst_1 a₁) b₁) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} α R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} α R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R α (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} α R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} α R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} α R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R α (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R α _inst_1 a₂) b₂)) (Or (And (Eq.{succ u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) a₁ a₂) (Eq.{succ u2} R b₁ b₂)) (And (Eq.{succ u2} R b₁ (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) (Eq.{succ u2} R b₂ (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)))))))
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.monomial_eq_monomial_iff MvPolynomial.monomial_eq_monomial_iffₓ'. -/
theorem monomial_eq_monomial_iff {α : Type _} (a₁ a₂ : α →₀ ℕ) (b₁ b₂ : R) :
monomial a₁ b₁ = monomial a₂ b₂ ↔ a₁ = a₂ ∧ b₁ = b₂ ∨ b₁ = 0 ∧ b₂ = 0 :=
@@ -637,20 +577,14 @@ theorem monomial_eq_monomial_iff {α : Type _} (a₁ a₂ : α →₀ ℕ) (b₁
#align mv_polynomial.monomial_eq_monomial_iff MvPolynomial.monomial_eq_monomial_iff
/- warning: mv_polynomial.monomial_eq -> MvPolynomial.monomial_eq is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} {a : R} {s : Finsupp.{u2, 0} σ Nat Nat.hasZero} [_inst_1 : CommSemiring.{u1} R], Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) a) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a) (Finsupp.prod.{u2, 0, max u2 u1} σ Nat (MvPolynomial.{u2, u1} σ R _inst_1) Nat.hasZero (CommSemiring.toCommMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) s (fun (n : σ) (e : Nat) => HPow.hPow.{max u2 u1, 0, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) Nat (MvPolynomial.{u2, u1} σ R _inst_1) (instHPow.{max u2 u1, 0} (MvPolynomial.{u2, u1} σ R _inst_1) Nat (Monoid.Pow.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MonoidWithZero.toMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (MvPolynomial.X.{u1, u2} R σ _inst_1 n) e)))
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} 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 (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : 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) a) (Finsupp.prod.{u1, 0, max u2 u1} σ Nat (MvPolynomial.{u1, u2} σ R _inst_1) (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (CommSemiring.toCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) s (fun (n : σ) (e : Nat) => HPow.hPow.{max u1 u2, 0, max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (MvPolynomial.{u1, u2} σ R _inst_1) (instHPow.{max u1 u2, 0} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (Monoid.Pow.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (MvPolynomial.X.{u2, u1} R σ _inst_1 n) e)))
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.monomial_eq MvPolynomial.monomial_eqₓ'. -/
theorem monomial_eq : monomial s a = C a * (s.Prod fun n e => X n ^ e : MvPolynomial σ R) := by
simp only [X_pow_eq_monomial, ← monomial_finsupp_sum_index, Finsupp.sum_single]
#align mv_polynomial.monomial_eq MvPolynomial.monomial_eq
/- warning: mv_polynomial.induction_on_monomial -> MvPolynomial.induction_on_monomial is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {M : (MvPolynomial.{u2, u1} σ R _inst_1) -> Prop}, (forall (a : R), M (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a)) -> (forall (p : MvPolynomial.{u2, u1} σ R _inst_1) (n : σ), (M p) -> (M (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) p (MvPolynomial.X.{u1, u2} R σ _inst_1 n)))) -> (forall (s : Finsupp.{u2, 0} σ Nat Nat.hasZero) (a : R), M (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) a))
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {M : (MvPolynomial.{u1, u2} σ R _inst_1) -> Prop}, (forall (a : R), M (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.2397 : 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) a)) -> (forall (p : MvPolynomial.{u1, u2} σ R _inst_1) (n : σ), (M p) -> (M (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) p (MvPolynomial.X.{u2, u1} R σ _inst_1 n)))) -> (forall (s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (a : R), M (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a))
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.induction_on_monomial MvPolynomial.induction_on_monomialₓ'. -/
theorem induction_on_monomial {M : MvPolynomial σ R → Prop} (h_C : ∀ a, M (C a))
(h_X : ∀ p n, M p → M (p * X n)) : ∀ s a, M (monomial s a) :=
@@ -690,10 +624,7 @@ theorem induction_on' {P : MvPolynomial σ R → Prop} (p : MvPolynomial σ R)
#align mv_polynomial.induction_on' MvPolynomial.induction_on'
/- warning: mv_polynomial.induction_on''' -> MvPolynomial.induction_on''' is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {M : (MvPolynomial.{u2, u1} σ R _inst_1) -> Prop} (p : MvPolynomial.{u2, u1} σ R _inst_1), (forall (a : R), M (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a)) -> (forall (a : Finsupp.{u2, 0} σ Nat Nat.hasZero) (b : R) (f : Finsupp.{u2, u1} (Finsupp.{u2, 0} σ Nat Nat.hasZero) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))), (Not (Membership.Mem.{u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasMem.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) a (Finsupp.support.{u2, u1} (Finsupp.{u2, 0} σ Nat Nat.hasZero) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) f))) -> (Ne.{succ u1} R b (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) -> (M f) -> (M (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHAdd.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasAdd.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 a) b) f))) -> (M p)
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {M : (MvPolynomial.{u1, u2} σ R _inst_1) -> Prop} (p : MvPolynomial.{u1, u2} σ R _inst_1), (forall (a : R), M (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.2397 : 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) a)) -> (forall (a : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (b : R) (f : Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))), (Not (Membership.mem.{u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instMembershipFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) a (Finsupp.support.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)) f))) -> (Ne.{succ u2} R b (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) -> (M f) -> (M (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (instHAdd.{max u2 u1} (Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (Finsupp.add.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))))) ([mdata let_fun:1 (fun (this : Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) => this) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 a) b)]) f))) -> (M p)
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.induction_on''' MvPolynomial.induction_on'''ₓ'. -/
/-- Similar to `mv_polynomial.induction_on` but only a weak form of `h_add` is required.-/
theorem induction_on''' {M : MvPolynomial σ R → Prop} (p : MvPolynomial σ R) (h_C : ∀ a, M (C a))
@@ -705,10 +636,7 @@ theorem induction_on''' {M : MvPolynomial σ R → Prop} (p : MvPolynomial σ R)
#align mv_polynomial.induction_on''' MvPolynomial.induction_on'''
/- warning: mv_polynomial.induction_on'' -> MvPolynomial.induction_on'' is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {M : (MvPolynomial.{u2, u1} σ R _inst_1) -> Prop} (p : MvPolynomial.{u2, u1} σ R _inst_1), (forall (a : R), M (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a)) -> (forall (a : Finsupp.{u2, 0} σ Nat Nat.hasZero) (b : R) (f : Finsupp.{u2, u1} (Finsupp.{u2, 0} σ Nat Nat.hasZero) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))), (Not (Membership.Mem.{u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasMem.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) a (Finsupp.support.{u2, u1} (Finsupp.{u2, 0} σ Nat Nat.hasZero) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) f))) -> (Ne.{succ u1} R b (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) -> (M f) -> (M (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 a) b)) -> (M (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHAdd.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasAdd.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 a) b) f))) -> (forall (p : MvPolynomial.{u2, u1} σ R _inst_1) (n : σ), (M p) -> (M (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) p (MvPolynomial.X.{u1, u2} R σ _inst_1 n)))) -> (M p)
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {M : (MvPolynomial.{u1, u2} σ R _inst_1) -> Prop} (p : MvPolynomial.{u1, u2} σ R _inst_1), (forall (a : R), M (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.2397 : 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) a)) -> (forall (a : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (b : R) (f : Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))), (Not (Membership.mem.{u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instMembershipFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) a (Finsupp.support.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)) f))) -> (Ne.{succ u2} R b (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) -> (M f) -> (M (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 a) b)) -> (M (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (instHAdd.{max u2 u1} (Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (Finsupp.add.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))))) ([mdata let_fun:1 (fun (this : Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) => this) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 a) b)]) f))) -> (forall (p : MvPolynomial.{u1, u2} σ R _inst_1) (n : σ), (M p) -> (M (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) p (MvPolynomial.X.{u2, u1} R σ _inst_1 n)))) -> (M p)
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.induction_on'' MvPolynomial.induction_on''ₓ'. -/
/-- Similar to `mv_polynomial.induction_on` but only a yet weaker form of `h_add` is required.-/
theorem induction_on'' {M : MvPolynomial σ R → Prop} (p : MvPolynomial σ R) (h_C : ∀ a, M (C a))
@@ -734,10 +662,7 @@ theorem induction_on {M : MvPolynomial σ R → Prop} (p : MvPolynomial σ R) (h
#align mv_polynomial.induction_on MvPolynomial.induction_on
/- warning: mv_polynomial.ring_hom_ext -> MvPolynomial.ringHom_ext is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {A : Type.{u3}} [_inst_3 : Semiring.{u3} A] {f : RingHom.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3)} {g : RingHom.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3)}, (forall (r : R), Eq.{succ u3} A (coeFn.{max (succ (max u2 u1)) (succ u3), max (succ (max u2 u1)) (succ u3)} (RingHom.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3)) (fun (_x : RingHom.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3)) => (MvPolynomial.{u2, u1} σ R _inst_1) -> A) (RingHom.hasCoeToFun.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3)) f (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) r)) (coeFn.{max (succ (max u2 u1)) (succ u3), max (succ (max u2 u1)) (succ u3)} (RingHom.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3)) (fun (_x : RingHom.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3)) => (MvPolynomial.{u2, u1} σ R _inst_1) -> A) (RingHom.hasCoeToFun.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3)) g (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) r))) -> (forall (i : σ), Eq.{succ u3} A (coeFn.{max (succ (max u2 u1)) (succ u3), max (succ (max u2 u1)) (succ u3)} (RingHom.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3)) (fun (_x : RingHom.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3)) => (MvPolynomial.{u2, u1} σ R _inst_1) -> A) (RingHom.hasCoeToFun.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3)) f (MvPolynomial.X.{u1, u2} R σ _inst_1 i)) (coeFn.{max (succ (max u2 u1)) (succ u3), max (succ (max u2 u1)) (succ u3)} (RingHom.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3)) (fun (_x : RingHom.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3)) => (MvPolynomial.{u2, u1} σ R _inst_1) -> A) (RingHom.hasCoeToFun.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3)) g (MvPolynomial.X.{u1, u2} R σ _inst_1 i))) -> (Eq.{max (succ (max u2 u1)) (succ u3)} (RingHom.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3)) f g)
-but is expected to have type
- forall {R : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] {A : Type.{u2}} [_inst_3 : Semiring.{u2} A] {f : RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)} {g : RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)}, (forall (r : R), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ R _inst_1) => A) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (MulHomClass.toFunLike.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (RingHom.instRingHomClassRingHom.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (MvPolynomial.C.{u3, u1} R σ _inst_1) r)) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u1), succ u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ R _inst_1) => A) _x) (MulHomClass.toFunLike.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) A (NonUnitalNonAssocSemiring.toMul.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3))) (NonUnitalRingHomClass.toMulHomClass.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (RingHomClass.toNonUnitalRingHomClass.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3) (RingHom.instRingHomClassRingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3))))) f (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u3} σ R _inst_1) _x) (MulHomClass.toFunLike.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (RingHom.instRingHomClassRingHom.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (MvPolynomial.C.{u3, u1} R σ _inst_1) r)) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u1), succ u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ R _inst_1) => A) _x) (MulHomClass.toFunLike.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) A (NonUnitalNonAssocSemiring.toMul.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3))) (NonUnitalRingHomClass.toMulHomClass.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (RingHomClass.toNonUnitalRingHomClass.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3) (RingHom.instRingHomClassRingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3))))) g (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u3} σ R _inst_1) _x) (MulHomClass.toFunLike.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (RingHom.instRingHomClassRingHom.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (MvPolynomial.C.{u3, u1} R σ _inst_1) r))) -> (forall (i : σ), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ R _inst_1) => A) (MvPolynomial.X.{u3, u1} R σ _inst_1 i)) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u1), succ u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ R _inst_1) => A) _x) (MulHomClass.toFunLike.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) A (NonUnitalNonAssocSemiring.toMul.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3))) (NonUnitalRingHomClass.toMulHomClass.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (RingHomClass.toNonUnitalRingHomClass.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3) (RingHom.instRingHomClassRingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3))))) f (MvPolynomial.X.{u3, u1} R σ _inst_1 i)) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u1), succ u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ R _inst_1) => A) _x) (MulHomClass.toFunLike.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) A (NonUnitalNonAssocSemiring.toMul.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3))) (NonUnitalRingHomClass.toMulHomClass.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (RingHomClass.toNonUnitalRingHomClass.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3) (RingHom.instRingHomClassRingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3))))) g (MvPolynomial.X.{u3, u1} R σ _inst_1 i))) -> (Eq.{max (max (succ u3) (succ u1)) (succ u2)} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) f g)
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.ring_hom_ext MvPolynomial.ringHom_extₓ'. -/
theorem ringHom_ext {A : Type _} [Semiring A] {f g : MvPolynomial σ R →+* A}
(hC : ∀ r, f (C r) = g (C r)) (hX : ∀ i, f (X i) = g (X i)) : f = g :=
@@ -747,10 +672,7 @@ theorem ringHom_ext {A : Type _} [Semiring A] {f g : MvPolynomial σ R →+* A}
#align mv_polynomial.ring_hom_ext MvPolynomial.ringHom_ext
/- warning: mv_polynomial.ring_hom_ext' -> MvPolynomial.ringHom_ext' is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {A : Type.{u3}} [_inst_3 : Semiring.{u3} A] {f : RingHom.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3)} {g : RingHom.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3)}, (Eq.{max (succ u1) (succ u3)} (RingHom.{u1, u3} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} A _inst_3)) (RingHom.comp.{u1, max u2 u1, u3} R (MvPolynomial.{u2, u1} σ R _inst_1) A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3) f (MvPolynomial.C.{u1, u2} R σ _inst_1)) (RingHom.comp.{u1, max u2 u1, u3} R (MvPolynomial.{u2, u1} σ R _inst_1) A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3) g (MvPolynomial.C.{u1, u2} R σ _inst_1))) -> (forall (i : σ), Eq.{succ u3} A (coeFn.{max (succ (max u2 u1)) (succ u3), max (succ (max u2 u1)) (succ u3)} (RingHom.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3)) (fun (_x : RingHom.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3)) => (MvPolynomial.{u2, u1} σ R _inst_1) -> A) (RingHom.hasCoeToFun.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3)) f (MvPolynomial.X.{u1, u2} R σ _inst_1 i)) (coeFn.{max (succ (max u2 u1)) (succ u3), max (succ (max u2 u1)) (succ u3)} (RingHom.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3)) (fun (_x : RingHom.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3)) => (MvPolynomial.{u2, u1} σ R _inst_1) -> A) (RingHom.hasCoeToFun.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3)) g (MvPolynomial.X.{u1, u2} R σ _inst_1 i))) -> (Eq.{max (succ (max u2 u1)) (succ u3)} (RingHom.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3)) f g)
-but is expected to have type
- forall {R : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] {A : Type.{u2}} [_inst_3 : Semiring.{u2} A] {f : RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)} {g : RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)}, (Eq.{max (succ u3) (succ u2)} (RingHom.{u3, u2} R A (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (RingHom.comp.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3) f (MvPolynomial.C.{u3, u1} R σ _inst_1)) (RingHom.comp.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3) g (MvPolynomial.C.{u3, u1} R σ _inst_1))) -> (forall (i : σ), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ R _inst_1) => A) (MvPolynomial.X.{u3, u1} R σ _inst_1 i)) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u1), succ u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ R _inst_1) => A) _x) (MulHomClass.toFunLike.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) A (NonUnitalNonAssocSemiring.toMul.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3))) (NonUnitalRingHomClass.toMulHomClass.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (RingHomClass.toNonUnitalRingHomClass.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3) (RingHom.instRingHomClassRingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3))))) f (MvPolynomial.X.{u3, u1} R σ _inst_1 i)) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u1), succ u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ R _inst_1) => A) _x) (MulHomClass.toFunLike.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) A (NonUnitalNonAssocSemiring.toMul.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3))) (NonUnitalRingHomClass.toMulHomClass.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (RingHomClass.toNonUnitalRingHomClass.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3) (RingHom.instRingHomClassRingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3))))) g (MvPolynomial.X.{u3, u1} R σ _inst_1 i))) -> (Eq.{max (max (succ u3) (succ u1)) (succ u2)} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) f g)
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.ring_hom_ext' MvPolynomial.ringHom_ext'ₓ'. -/
/-- See note [partially-applied ext lemmas]. -/
@[ext]
@@ -760,10 +682,7 @@ theorem ringHom_ext' {A : Type _} [Semiring A] {f g : MvPolynomial σ R →+* A}
#align mv_polynomial.ring_hom_ext' MvPolynomial.ringHom_ext'
/- warning: mv_polynomial.hom_eq_hom -> MvPolynomial.hom_eq_hom is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S₂ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_3 : Semiring.{u2} S₂] (f : RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ _inst_3)) (g : RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ _inst_3)), (Eq.{max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ _inst_3)) (RingHom.comp.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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))) (Semiring.toNonAssocSemiring.{u2} S₂ _inst_3) f (MvPolynomial.C.{u1, u3} R σ _inst_1)) (RingHom.comp.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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))) (Semiring.toNonAssocSemiring.{u2} S₂ _inst_3) g (MvPolynomial.C.{u1, u3} R σ _inst_1))) -> (forall (n : σ), Eq.{succ u2} S₂ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ _inst_3)) (fun (_x : RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ _inst_3)) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₂) (RingHom.hasCoeToFun.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ _inst_3)) f (MvPolynomial.X.{u1, u3} R σ _inst_1 n)) (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ _inst_3)) (fun (_x : RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ _inst_3)) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₂) (RingHom.hasCoeToFun.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ _inst_3)) g (MvPolynomial.X.{u1, u3} R σ _inst_1 n))) -> (forall (p : MvPolynomial.{u3, u1} σ R _inst_1), Eq.{succ u2} S₂ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ _inst_3)) (fun (_x : RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ _inst_3)) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₂) (RingHom.hasCoeToFun.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ _inst_3)) f p) (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ _inst_3)) (fun (_x : RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ _inst_3)) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₂) (RingHom.hasCoeToFun.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ _inst_3)) g p))
-but is expected to have type
- forall {R : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_3 : Semiring.{u3} S₂] (f : RingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3)) (g : RingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3)), (Eq.{max (succ u2) (succ u3)} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ _inst_3)) (RingHom.comp.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u3} S₂ _inst_3) f (MvPolynomial.C.{u2, u1} R σ _inst_1)) (RingHom.comp.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u3} S₂ _inst_3) g (MvPolynomial.C.{u2, u1} R σ _inst_1))) -> (forall (n : σ), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) (MvPolynomial.X.{u2, u1} R σ _inst_1 n)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3)) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3)) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ _inst_3))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3)) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ _inst_3)) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3)) (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.{u3} S₂ _inst_3) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3))))) f (MvPolynomial.X.{u2, u1} R σ _inst_1 n)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3)) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3)) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ _inst_3))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3)) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ _inst_3)) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3)) (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.{u3} S₂ _inst_3) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3))))) g (MvPolynomial.X.{u2, u1} R σ _inst_1 n))) -> (forall (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) p) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3)) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3)) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ _inst_3))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3)) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ _inst_3)) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3)) (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.{u3} S₂ _inst_3) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3))))) f p) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3)) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3)) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ _inst_3))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3)) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ _inst_3)) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3)) (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.{u3} S₂ _inst_3) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3))))) g p))
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.hom_eq_hom MvPolynomial.hom_eq_homₓ'. -/
theorem hom_eq_hom [Semiring S₂] (f g : MvPolynomial σ R →+* S₂) (hC : f.comp C = g.comp C)
(hX : ∀ n : σ, f (X n) = g (X n)) (p : MvPolynomial σ R) : f p = g p :=
@@ -771,10 +690,7 @@ theorem hom_eq_hom [Semiring S₂] (f g : MvPolynomial σ R →+* S₂) (hC : f.
#align mv_polynomial.hom_eq_hom MvPolynomial.hom_eq_hom
/- warning: mv_polynomial.is_id -> MvPolynomial.is_id is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (f : RingHom.{max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (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))) (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)))), (Eq.{max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (RingHom.comp.{u1, max u2 u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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))) (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))) f (MvPolynomial.C.{u1, u2} R σ _inst_1)) (MvPolynomial.C.{u1, u2} R σ _inst_1)) -> (forall (n : σ), Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{succ (max u2 u1), succ (max u2 u1)} (RingHom.{max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (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))) (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)))) (fun (_x : RingHom.{max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (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))) (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)))) => (MvPolynomial.{u2, u1} σ R _inst_1) -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (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))) (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)))) f (MvPolynomial.X.{u1, u2} R σ _inst_1 n)) (MvPolynomial.X.{u1, u2} R σ _inst_1 n)) -> (forall (p : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{succ (max u2 u1), succ (max u2 u1)} (RingHom.{max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (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))) (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)))) (fun (_x : RingHom.{max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (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))) (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)))) => (MvPolynomial.{u2, u1} σ R _inst_1) -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (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))) (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)))) f p) p)
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (f : RingHom.{max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (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))) (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)))), (Eq.{max (succ u2) (succ u1)} (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)))) (RingHom.comp.{u2, max u2 u1, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (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))) (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))) f (MvPolynomial.C.{u2, u1} R σ _inst_1)) (MvPolynomial.C.{u2, u1} R σ _inst_1)) -> (forall (n : σ), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.X.{u2, u1} R σ _inst_1 n)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (RingHom.{max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (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))) (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.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (MulHomClass.toFunLike.{max u2 u1, max u2 u1, max u2 u1} (RingHom.{max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (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))) (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.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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 u2 u1, max u2 u1, max u2 u1} (RingHom.{max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (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))) (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.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{max u2 u1} (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 u2 u1, max u2 u1, max u2 u1} (RingHom.{max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (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))) (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.{u1, u2} σ R _inst_1) (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))) (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.{max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (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))) (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))))))) f (MvPolynomial.X.{u2, u1} R σ _inst_1 n)) (MvPolynomial.X.{u2, u1} R σ _inst_1 n)) -> (forall (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u2} σ R _inst_1) p) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (RingHom.{max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (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))) (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.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (MulHomClass.toFunLike.{max u2 u1, max u2 u1, max u2 u1} (RingHom.{max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (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))) (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.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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 u2 u1, max u2 u1, max u2 u1} (RingHom.{max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (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))) (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.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{max u2 u1} (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 u2 u1, max u2 u1, max u2 u1} (RingHom.{max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (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))) (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.{u1, u2} σ R _inst_1) (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))) (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.{max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (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))) (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))))))) f p) p)
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.is_id MvPolynomial.is_idₓ'. -/
theorem is_id (f : MvPolynomial σ R →+* MvPolynomial σ R) (hC : f.comp C = C)
(hX : ∀ n : σ, f (X n) = X n) (p : MvPolynomial σ R) : f p = p :=
@@ -782,10 +698,7 @@ theorem is_id (f : MvPolynomial σ R →+* MvPolynomial σ R) (hC : f.comp C = C
#align mv_polynomial.is_id MvPolynomial.is_id
/- warning: mv_polynomial.alg_hom_ext' -> MvPolynomial.algHom_ext' is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {A : Type.{u3}} {B : Type.{u4}} [_inst_3 : CommSemiring.{u3} A] [_inst_4 : CommSemiring.{u4} B] [_inst_5 : Algebra.{u1, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3)] [_inst_6 : Algebra.{u1, u4} R B _inst_1 (CommSemiring.toSemiring.{u4} B _inst_4)] {f : AlgHom.{u1, max u2 u3, u4} R (MvPolynomial.{u2, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) (CommSemiring.toSemiring.{u4} B _inst_4) (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) _inst_6} {g : AlgHom.{u1, max u2 u3, u4} R (MvPolynomial.{u2, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) (CommSemiring.toSemiring.{u4} B _inst_4) (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) _inst_6}, (Eq.{max (succ u3) (succ u4)} (AlgHom.{u1, u3, u4} R A B _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) (CommSemiring.toSemiring.{u4} B _inst_4) _inst_5 _inst_6) (AlgHom.comp.{u1, u3, max u2 u3, u4} R A (MvPolynomial.{u2, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) (CommSemiring.toSemiring.{u4} B _inst_4) _inst_5 (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) _inst_6 f (IsScalarTower.toAlgHom.{u1, u3, max u2 u3} R A (MvPolynomial.{u2, u3} σ A _inst_3) _inst_1 _inst_3 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) _inst_5 (MvPolynomial.algebra.{u3, u3, u2} A A σ _inst_3 _inst_3 (Algebra.id.{u3} A _inst_3)) (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) (MvPolynomial.isScalarTower.{u1, u3, u3, u2} R A A σ _inst_3 (SMulZeroClass.toHasSmul.{u1, u3} R A (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))))))) (SMulWithZero.toSmulZeroClass.{u1, u3} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))))))) (MulActionWithZero.toSMulWithZero.{u1, u3} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))))))) (Module.toMulActionWithZero.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3)))) (Algebra.toModule.{u1, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5))))) (SMulWithZero.toSmulZeroClass.{u1, u3} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (MulZeroClass.toHasZero.{u3} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u3} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toHasZero.{u3} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))))) (Module.toMulActionWithZero.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3)))) (Algebra.toModule.{u1, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5)))) (SMulWithZero.toSmulZeroClass.{u3, u3} A A (MulZeroClass.toHasZero.{u3} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))))) (MulZeroClass.toHasZero.{u3} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))))) (MulZeroClass.toSMulWithZero.{u3} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3)))))) (IsScalarTower.right.{u1, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5)))) (AlgHom.comp.{u1, u3, max u2 u3, u4} R A (MvPolynomial.{u2, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) (CommSemiring.toSemiring.{u4} B _inst_4) _inst_5 (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) _inst_6 g (IsScalarTower.toAlgHom.{u1, u3, max u2 u3} R A (MvPolynomial.{u2, u3} σ A _inst_3) _inst_1 _inst_3 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) _inst_5 (MvPolynomial.algebra.{u3, u3, u2} A A σ _inst_3 _inst_3 (Algebra.id.{u3} A _inst_3)) (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) (MvPolynomial.isScalarTower.{u1, u3, u3, u2} R A A σ _inst_3 (SMulZeroClass.toHasSmul.{u1, u3} R A (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))))))) (SMulWithZero.toSmulZeroClass.{u1, u3} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))))))) (MulActionWithZero.toSMulWithZero.{u1, u3} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))))))) (Module.toMulActionWithZero.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3)))) (Algebra.toModule.{u1, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5))))) (SMulWithZero.toSmulZeroClass.{u1, u3} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (MulZeroClass.toHasZero.{u3} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u3} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toHasZero.{u3} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))))) (Module.toMulActionWithZero.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3)))) (Algebra.toModule.{u1, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5)))) (SMulWithZero.toSmulZeroClass.{u3, u3} A A (MulZeroClass.toHasZero.{u3} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))))) (MulZeroClass.toHasZero.{u3} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))))) (MulZeroClass.toSMulWithZero.{u3} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3)))))) (IsScalarTower.right.{u1, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5))))) -> (forall (i : σ), Eq.{succ u4} B (coeFn.{max (succ (max u2 u3)) (succ u4), max (succ (max u2 u3)) (succ u4)} (AlgHom.{u1, max u2 u3, u4} R (MvPolynomial.{u2, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) (CommSemiring.toSemiring.{u4} B _inst_4) (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) _inst_6) (fun (_x : AlgHom.{u1, max u2 u3, u4} R (MvPolynomial.{u2, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) (CommSemiring.toSemiring.{u4} B _inst_4) (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) _inst_6) => (MvPolynomial.{u2, u3} σ A _inst_3) -> B) ([anonymous].{u1, max u2 u3, u4} R (MvPolynomial.{u2, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) (CommSemiring.toSemiring.{u4} B _inst_4) (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) _inst_6) f (MvPolynomial.X.{u3, u2} A σ _inst_3 i)) (coeFn.{max (succ (max u2 u3)) (succ u4), max (succ (max u2 u3)) (succ u4)} (AlgHom.{u1, max u2 u3, u4} R (MvPolynomial.{u2, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) (CommSemiring.toSemiring.{u4} B _inst_4) (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) _inst_6) (fun (_x : AlgHom.{u1, max u2 u3, u4} R (MvPolynomial.{u2, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) (CommSemiring.toSemiring.{u4} B _inst_4) (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) _inst_6) => (MvPolynomial.{u2, u3} σ A _inst_3) -> B) ([anonymous].{u1, max u2 u3, u4} R (MvPolynomial.{u2, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) (CommSemiring.toSemiring.{u4} B _inst_4) (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) _inst_6) g (MvPolynomial.X.{u3, u2} A σ _inst_3 i))) -> (Eq.{max (succ (max u2 u3)) (succ u4)} (AlgHom.{u1, max u2 u3, u4} R (MvPolynomial.{u2, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) (CommSemiring.toSemiring.{u4} B _inst_4) (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) _inst_6) f g)
-but is expected to have type
- forall {R : Type.{u4}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u4} R] {A : Type.{u3}} {B : Type.{u2}} [_inst_3 : CommSemiring.{u3} A] [_inst_4 : CommSemiring.{u2} B] [_inst_5 : Algebra.{u4, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3)] [_inst_6 : Algebra.{u4, u2} R B _inst_1 (CommSemiring.toSemiring.{u2} B _inst_4)] {f : AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6} {g : AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6}, (Eq.{max (succ u3) (succ u2)} (AlgHom.{u4, u3, u2} R A B _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) (CommSemiring.toSemiring.{u2} B _inst_4) _inst_5 _inst_6) (AlgHom.comp.{u4, u3, max u1 u3, u2} R A (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) _inst_5 (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6 f (IsScalarTower.toAlgHom.{u4, u3, max u3 u1} R A (MvPolynomial.{u1, u3} σ A _inst_3) _inst_1 _inst_3 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) _inst_5 (MvPolynomial.algebra.{u3, u3, u1} A A σ _inst_3 _inst_3 (Algebra.id.{u3} A _inst_3)) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) (MvPolynomial.isScalarTower.{u4, u3, u3, u1} R A A σ _inst_3 (Algebra.toSMul.{u4, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5) (SMulWithZero.toSMulZeroClass.{u4, u3} R A (CommMonoidWithZero.toZero.{u4} R (CommSemiring.toCommMonoidWithZero.{u4} R _inst_1)) (MonoidWithZero.toZero.{u3} A (Semiring.toMonoidWithZero.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))) (MulActionWithZero.toSMulWithZero.{u4, u3} R A (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (MonoidWithZero.toZero.{u3} A (Semiring.toMonoidWithZero.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))) (Module.toMulActionWithZero.{u4, u3} R A (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3)))) (Algebra.toModule.{u4, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5)))) (SMulWithZero.toSMulZeroClass.{u3, u3} A A (CommMonoidWithZero.toZero.{u3} A (CommSemiring.toCommMonoidWithZero.{u3} A _inst_3)) (MonoidWithZero.toZero.{u3} A (Semiring.toMonoidWithZero.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))) (MulActionWithZero.toSMulWithZero.{u3, u3} A A (Semiring.toMonoidWithZero.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3)) (MonoidWithZero.toZero.{u3} A (Semiring.toMonoidWithZero.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))) (Module.toMulActionWithZero.{u3, u3} A A (CommSemiring.toSemiring.{u3} A _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3)))) (Algebra.toModule.{u3, u3} A A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_3) (Algebra.id.{u3} A _inst_3))))) (IsScalarTower.right.{u4, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5)))) (AlgHom.comp.{u4, u3, max u1 u3, u2} R A (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) _inst_5 (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6 g (IsScalarTower.toAlgHom.{u4, u3, max u3 u1} R A (MvPolynomial.{u1, u3} σ A _inst_3) _inst_1 _inst_3 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) _inst_5 (MvPolynomial.algebra.{u3, u3, u1} A A σ _inst_3 _inst_3 (Algebra.id.{u3} A _inst_3)) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) (MvPolynomial.isScalarTower.{u4, u3, u3, u1} R A A σ _inst_3 (Algebra.toSMul.{u4, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5) (SMulWithZero.toSMulZeroClass.{u4, u3} R A (CommMonoidWithZero.toZero.{u4} R (CommSemiring.toCommMonoidWithZero.{u4} R _inst_1)) (MonoidWithZero.toZero.{u3} A (Semiring.toMonoidWithZero.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))) (MulActionWithZero.toSMulWithZero.{u4, u3} R A (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (MonoidWithZero.toZero.{u3} A (Semiring.toMonoidWithZero.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))) (Module.toMulActionWithZero.{u4, u3} R A (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3)))) (Algebra.toModule.{u4, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5)))) (SMulWithZero.toSMulZeroClass.{u3, u3} A A (CommMonoidWithZero.toZero.{u3} A (CommSemiring.toCommMonoidWithZero.{u3} A _inst_3)) (MonoidWithZero.toZero.{u3} A (Semiring.toMonoidWithZero.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))) (MulActionWithZero.toSMulWithZero.{u3, u3} A A (Semiring.toMonoidWithZero.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3)) (MonoidWithZero.toZero.{u3} A (Semiring.toMonoidWithZero.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))) (Module.toMulActionWithZero.{u3, u3} A A (CommSemiring.toSemiring.{u3} A _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3)))) (Algebra.toModule.{u3, u3} A A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_3) (Algebra.id.{u3} A _inst_3))))) (IsScalarTower.right.{u4, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5))))) -> (forall (i : σ), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u3} σ A _inst_3) => B) (MvPolynomial.X.{u3, u1} A σ _inst_3 i)) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), max (succ u1) (succ u3), succ u2} (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) (MvPolynomial.{u1, u3} σ A _inst_3) (fun (_x : MvPolynomial.{u1, u3} σ A _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u3} σ A _inst_3) => B) _x) (SMulHomClass.toFunLike.{max (max u1 u3) u2, u4, max u1 u3, u2} (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) R (MvPolynomial.{u1, u3} σ A _inst_3) B (SMulZeroClass.toSMul.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (AddMonoid.toZero.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3))))))) (DistribSMul.toSMulZeroClass.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (AddMonoid.toAddZeroClass.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3))))))) (DistribMulAction.toDistribSMul.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)))))) (Module.toDistribMulAction.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3))))) (Algebra.toModule.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5)))))) (SMulZeroClass.toSMul.{u4, u2} R B (AddMonoid.toZero.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4)))))) (DistribSMul.toSMulZeroClass.{u4, u2} R B (AddMonoid.toAddZeroClass.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4)))))) (DistribMulAction.toDistribSMul.{u4, u2} R B (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4))))) (Module.toDistribMulAction.{u4, u2} R B (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4)))) (Algebra.toModule.{u4, u2} R B _inst_1 (CommSemiring.toSemiring.{u2} B _inst_4) _inst_6))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u3) u2, u4, max u1 u3, u2} (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) R (MvPolynomial.{u1, u3} σ A _inst_3) B (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)))))) (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4))))) (Module.toDistribMulAction.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3))))) (Algebra.toModule.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5))) (Module.toDistribMulAction.{u4, u2} R B (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4)))) (Algebra.toModule.{u4, u2} R B _inst_1 (CommSemiring.toSemiring.{u2} B _inst_4) _inst_6)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u1 u3) u2, u4, max u1 u3, u2} (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) R (MvPolynomial.{u1, u3} σ A _inst_3) B (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4))) (Module.toDistribMulAction.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3))))) (Algebra.toModule.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5))) (Module.toDistribMulAction.{u4, u2} R B (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4)))) (Algebra.toModule.{u4, u2} R B _inst_1 (CommSemiring.toSemiring.{u2} B _inst_4) _inst_6)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u4, max u1 u3, u2, max (max u1 u3) u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6 (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) (AlgHom.algHomClass.{u4, max u1 u3, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6))))) f (MvPolynomial.X.{u3, u1} A σ _inst_3 i)) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), max (succ u1) (succ u3), succ u2} (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) (MvPolynomial.{u1, u3} σ A _inst_3) (fun (_x : MvPolynomial.{u1, u3} σ A _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u3} σ A _inst_3) => B) _x) (SMulHomClass.toFunLike.{max (max u1 u3) u2, u4, max u1 u3, u2} (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) R (MvPolynomial.{u1, u3} σ A _inst_3) B (SMulZeroClass.toSMul.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (AddMonoid.toZero.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3))))))) (DistribSMul.toSMulZeroClass.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (AddMonoid.toAddZeroClass.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3))))))) (DistribMulAction.toDistribSMul.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)))))) (Module.toDistribMulAction.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3))))) (Algebra.toModule.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5)))))) (SMulZeroClass.toSMul.{u4, u2} R B (AddMonoid.toZero.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4)))))) (DistribSMul.toSMulZeroClass.{u4, u2} R B (AddMonoid.toAddZeroClass.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4)))))) (DistribMulAction.toDistribSMul.{u4, u2} R B (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4))))) (Module.toDistribMulAction.{u4, u2} R B (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4)))) (Algebra.toModule.{u4, u2} R B _inst_1 (CommSemiring.toSemiring.{u2} B _inst_4) _inst_6))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u3) u2, u4, max u1 u3, u2} (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) R (MvPolynomial.{u1, u3} σ A _inst_3) B (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)))))) (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4))))) (Module.toDistribMulAction.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3))))) (Algebra.toModule.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5))) (Module.toDistribMulAction.{u4, u2} R B (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4)))) (Algebra.toModule.{u4, u2} R B _inst_1 (CommSemiring.toSemiring.{u2} B _inst_4) _inst_6)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u1 u3) u2, u4, max u1 u3, u2} (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) R (MvPolynomial.{u1, u3} σ A _inst_3) B (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4))) (Module.toDistribMulAction.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3))))) (Algebra.toModule.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5))) (Module.toDistribMulAction.{u4, u2} R B (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4)))) (Algebra.toModule.{u4, u2} R B _inst_1 (CommSemiring.toSemiring.{u2} B _inst_4) _inst_6)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u4, max u1 u3, u2, max (max u1 u3) u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6 (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) (AlgHom.algHomClass.{u4, max u1 u3, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6))))) g (MvPolynomial.X.{u3, u1} A σ _inst_3 i))) -> (Eq.{max (max (succ u1) (succ u3)) (succ u2)} (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) f g)
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.alg_hom_ext' MvPolynomial.algHom_ext'ₓ'. -/
@[ext]
theorem algHom_ext' {A B : Type _} [CommSemiring A] [CommSemiring B] [Algebra R A] [Algebra R B]
@@ -798,10 +711,7 @@ theorem algHom_ext' {A B : Type _} [CommSemiring A] [CommSemiring B] [Algebra R
#align mv_polynomial.alg_hom_ext' MvPolynomial.algHom_ext'
/- warning: mv_polynomial.alg_hom_ext -> MvPolynomial.algHom_ext is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {A : Type.{u3}} [_inst_3 : Semiring.{u3} A] [_inst_4 : Algebra.{u1, u3} R A _inst_1 _inst_3] {f : AlgHom.{u1, max u2 u1, u3} R (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_4} {g : AlgHom.{u1, max u2 u1, u3} R (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_4}, (forall (i : σ), Eq.{succ u3} A (coeFn.{max (succ (max u2 u1)) (succ u3), max (succ (max u2 u1)) (succ u3)} (AlgHom.{u1, max u2 u1, u3} R (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_4) (fun (_x : AlgHom.{u1, max u2 u1, u3} R (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_4) => (MvPolynomial.{u2, u1} σ R _inst_1) -> A) ([anonymous].{u1, max u2 u1, u3} R (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_4) f (MvPolynomial.X.{u1, u2} R σ _inst_1 i)) (coeFn.{max (succ (max u2 u1)) (succ u3), max (succ (max u2 u1)) (succ u3)} (AlgHom.{u1, max u2 u1, u3} R (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_4) (fun (_x : AlgHom.{u1, max u2 u1, u3} R (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_4) => (MvPolynomial.{u2, u1} σ R _inst_1) -> A) ([anonymous].{u1, max u2 u1, u3} R (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_4) g (MvPolynomial.X.{u1, u2} R σ _inst_1 i))) -> (Eq.{max (succ (max u2 u1)) (succ u3)} (AlgHom.{u1, max u2 u1, u3} R (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_4) f g)
-but is expected to have type
- forall {R : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] {A : Type.{u2}} [_inst_3 : Semiring.{u2} A] [_inst_4 : Algebra.{u3, u2} R A _inst_1 _inst_3] {f : AlgHom.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4} {g : AlgHom.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4}, (forall (i : σ), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u3} σ R _inst_1) => A) (MvPolynomial.X.{u3, u1} R σ _inst_1 i)) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u1), succ u2} (AlgHom.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4) (MvPolynomial.{u1, u3} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u3} σ R _inst_1) => A) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u3, max u3 u1, u2} (AlgHom.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4) R (MvPolynomial.{u1, u3} σ R _inst_1) A (SMulZeroClass.toSMul.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toZero.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (Module.toDistribMulAction.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))))))) (SMulZeroClass.toSMul.{u3, u2} R A (AddMonoid.toZero.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3))))) (DistribSMul.toSMulZeroClass.{u3, u2} R A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3))))) (DistribMulAction.toDistribSMul.{u3, u2} R A (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3)))) (Module.toDistribMulAction.{u3, u2} R A (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3))) (Algebra.toModule.{u3, u2} R A _inst_1 _inst_3 _inst_4))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u3, max u3 u1, u2} (AlgHom.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4) R (MvPolynomial.{u1, u3} σ R _inst_1) A (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3)))) (Module.toDistribMulAction.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u2} R A (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3))) (Algebra.toModule.{u3, u2} R A _inst_1 _inst_3 _inst_4)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u3, max u3 u1, u2} (AlgHom.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4) R (MvPolynomial.{u1, u3} σ R _inst_1) A (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (Module.toDistribMulAction.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u2} R A (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3))) (Algebra.toModule.{u3, u2} R A _inst_1 _inst_3 _inst_4)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u3, max u3 u1, u2, max (max u3 u1) u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4 (AlgHom.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4) (AlgHom.algHomClass.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4))))) f (MvPolynomial.X.{u3, u1} R σ _inst_1 i)) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u1), succ u2} (AlgHom.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4) (MvPolynomial.{u1, u3} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u3} σ R _inst_1) => A) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u3, max u3 u1, u2} (AlgHom.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4) R (MvPolynomial.{u1, u3} σ R _inst_1) A (SMulZeroClass.toSMul.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toZero.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (Module.toDistribMulAction.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))))))) (SMulZeroClass.toSMul.{u3, u2} R A (AddMonoid.toZero.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3))))) (DistribSMul.toSMulZeroClass.{u3, u2} R A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3))))) (DistribMulAction.toDistribSMul.{u3, u2} R A (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3)))) (Module.toDistribMulAction.{u3, u2} R A (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3))) (Algebra.toModule.{u3, u2} R A _inst_1 _inst_3 _inst_4))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u3, max u3 u1, u2} (AlgHom.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4) R (MvPolynomial.{u1, u3} σ R _inst_1) A (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3)))) (Module.toDistribMulAction.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u2} R A (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3))) (Algebra.toModule.{u3, u2} R A _inst_1 _inst_3 _inst_4)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u3, max u3 u1, u2} (AlgHom.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4) R (MvPolynomial.{u1, u3} σ R _inst_1) A (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (Module.toDistribMulAction.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u2} R A (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3))) (Algebra.toModule.{u3, u2} R A _inst_1 _inst_3 _inst_4)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u3, max u3 u1, u2, max (max u3 u1) u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4 (AlgHom.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4) (AlgHom.algHomClass.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4))))) g (MvPolynomial.X.{u3, u1} R σ _inst_1 i))) -> (Eq.{max (max (succ u3) (succ u1)) (succ u2)} (AlgHom.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4) f g)
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.alg_hom_ext MvPolynomial.algHom_extₓ'. -/
@[ext]
theorem algHom_ext {A : Type _} [Semiring A] [Algebra R A] {f g : MvPolynomial σ R →ₐ[R] A}
@@ -810,10 +720,7 @@ theorem algHom_ext {A : Type _} [Semiring A] [Algebra R A] {f g : MvPolynomial
#align mv_polynomial.alg_hom_ext MvPolynomial.algHom_ext
/- warning: mv_polynomial.alg_hom_C -> MvPolynomial.algHom_C is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (f : AlgHom.{u1, max u2 u1, max u2 u1} 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 : R), Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{succ (max u2 u1), succ (max u2 u1)} (AlgHom.{u1, max u2 u1, max u2 u1} 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))) (fun (_x : AlgHom.{u1, max u2 u1, max u2 u1} 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) -> (MvPolynomial.{u2, u1} σ R _inst_1)) ([anonymous].{u1, max u2 u1, max u2 u1} 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))) f (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) r)) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) r)
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (f : AlgHom.{u2, max u2 u1, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (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))) (r : R), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, 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.2397 : 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 (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (AlgHom.{u2, max u2 u1, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (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) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (SMulHomClass.toFunLike.{max u2 u1, u2, max u2 u1, max u2 u1} (AlgHom.{u2, max u2 u1, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (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))) R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (SMulZeroClass.toSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (AddMonoid.toZero.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) (Module.toDistribMulAction.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Algebra.toModule.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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 u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (AddMonoid.toZero.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) (Module.toDistribMulAction.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Algebra.toModule.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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 u2 u1, u2, max u2 u1, max u2 u1} (AlgHom.{u2, max u2 u1, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (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))) R (MvPolynomial.{u1, 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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) (Module.toDistribMulAction.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Algebra.toModule.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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 u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Algebra.toModule.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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 u2 u1, u2, max u2 u1, max u2 u1} (AlgHom.{u2, max u2 u1, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (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))) R (MvPolynomial.{u1, 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 u2 u1} (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.{max u2 u1} (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)))) (Module.toDistribMulAction.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Algebra.toModule.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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 u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Algebra.toModule.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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 u2 u1, max u2 u1, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (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)) (AlgHom.{u2, max u2 u1, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (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))) (AlgHom.algHomClass.{u2, max u2 u1, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (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))))))) 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.2397 : 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 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.2397 : 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)
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.alg_hom_C MvPolynomial.algHom_Cₓ'. -/
@[simp]
theorem algHom_C (f : MvPolynomial σ R →ₐ[R] MvPolynomial σ R) (r : R) : f (C r) = C r :=
@@ -838,10 +745,7 @@ theorem adjoin_range_X : Algebra.adjoin R (range (X : σ → MvPolynomial σ R))
#align mv_polynomial.adjoin_range_X MvPolynomial.adjoin_range_X
/- warning: mv_polynomial.linear_map_ext -> MvPolynomial.linearMap_ext is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {M : Type.{u3}} [_inst_3 : AddCommMonoid.{u3} M] [_inst_4 : Module.{u1, u3} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3] {f : LinearMap.{u1, u1, max u2 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))) (MvPolynomial.{u2, u1} σ R _inst_1) M (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))))) _inst_3 (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))) _inst_4} {g : LinearMap.{u1, u1, max u2 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))) (MvPolynomial.{u2, u1} σ R _inst_1) M (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))))) _inst_3 (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))) _inst_4}, (forall (s : Finsupp.{u2, 0} σ Nat Nat.hasZero), Eq.{max (succ u1) (succ u3)} (LinearMap.{u1, u1, 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 M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) _inst_4) (LinearMap.comp.{u1, u1, u1, u1, max u2 u1, u3} R R R R (MvPolynomial.{u2, u1} σ R _inst_1) M (CommSemiring.toSemiring.{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 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))))) _inst_3 (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))) _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomCompTriple.ids.{u1, u1} 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)))) f (MvPolynomial.monomial.{u1, u2} R σ _inst_1 s)) (LinearMap.comp.{u1, u1, u1, u1, max u2 u1, u3} R R R R (MvPolynomial.{u2, u1} σ R _inst_1) M (CommSemiring.toSemiring.{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 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))))) _inst_3 (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))) _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomCompTriple.ids.{u1, u1} 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)))) g (MvPolynomial.monomial.{u1, u2} R σ _inst_1 s))) -> (Eq.{max (succ (max u2 u1)) (succ u3)} (LinearMap.{u1, u1, max u2 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))) (MvPolynomial.{u2, u1} σ R _inst_1) M (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))))) _inst_3 (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))) _inst_4) f g)
-but is expected to have type
- forall {R : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] {M : Type.{u2}} [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u3, u2} R M (CommSemiring.toSemiring.{u3} R _inst_1) _inst_3] {f : LinearMap.{u3, u3, max u3 u1, u2} 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))) (MvPolynomial.{u1, u3} σ R _inst_1) M (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) _inst_3 (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))) _inst_4} {g : LinearMap.{u3, u3, max u3 u1, u2} 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))) (MvPolynomial.{u1, u3} σ R _inst_1) M (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) _inst_3 (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))) _inst_4}, (forall (s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)), Eq.{max (succ u3) (succ u2)} (LinearMap.{u3, u3, u3, u2} 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 M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) _inst_3 (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) _inst_4) (LinearMap.comp.{u3, u3, u3, u3, max u3 u1, u2} R R R R (MvPolynomial.{u1, u3} σ R _inst_1) M (CommSemiring.toSemiring.{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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) _inst_3 (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))) _inst_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomCompTriple.ids.{u3, 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)))) f (MvPolynomial.monomial.{u3, u1} R σ _inst_1 s)) (LinearMap.comp.{u3, u3, u3, u3, max u3 u1, u2} R R R R (MvPolynomial.{u1, u3} σ R _inst_1) M (CommSemiring.toSemiring.{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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) _inst_3 (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))) _inst_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomCompTriple.ids.{u3, 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)))) g (MvPolynomial.monomial.{u3, u1} R σ _inst_1 s))) -> (Eq.{max (max (succ u3) (succ u1)) (succ u2)} (LinearMap.{u3, u3, max u3 u1, u2} 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))) (MvPolynomial.{u1, u3} σ R _inst_1) M (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) _inst_3 (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))) _inst_4) f g)
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.linear_map_ext MvPolynomial.linearMap_extₓ'. -/
@[ext]
theorem linearMap_ext {M : Type _} [AddCommMonoid M] [Module R M] {f g : MvPolynomial σ R →ₗ[R] M}
@@ -1337,10 +1241,7 @@ theorem support_symmDiff_support_subset_support_add [DecidableEq σ] (p q : MvPo
#align mv_polynomial.support_symm_diff_support_subset_support_add MvPolynomial.support_symmDiff_support_subset_support_add
/- warning: mv_polynomial.coeff_mul_monomial' -> MvPolynomial.coeff_mul_monomial' is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (m : Finsupp.{u2, 0} σ Nat Nat.hasZero) (s : Finsupp.{u2, 0} σ Nat Nat.hasZero) (r : R) (p : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) p (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) r))) (ite.{succ u1} R (LE.le.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.hasLe.{u2, 0} σ Nat Nat.hasZero Nat.hasLe) s m) (Finsupp.decidableLE.{u2, 0} σ Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) (fun (a : Nat) (b : Nat) => Nat.decidableLe a b) s m) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (MvPolynomial.coeff.{u1, u2} R σ _inst_1 (HSub.hSub.{u2, u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (instHSub.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.tsub.{u2, 0} σ Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) Nat.hasSub Nat.orderedSub)) m s) p) r) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (r : R) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) p (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) r))) (ite.{succ u2} R (LE.le.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.instLEFinsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) instLENat) s m) (Finsupp.decidableLE.{u1, 0} σ Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) (fun (a : Nat) (b : Nat) => Nat.decLe a b) s m) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 (HSub.hSub.{u1, u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHSub.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.tsub.{u1, 0} σ Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) instSubNat Nat.instOrderedSubNatInstLENatInstAddNatInstSubNat)) m s) p) r) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)))))
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.coeff_mul_monomial' MvPolynomial.coeff_mul_monomial'ₓ'. -/
theorem coeff_mul_monomial' (m) (s : σ →₀ ℕ) (r : R) (p : MvPolynomial σ R) :
coeff m (p * monomial s r) = if s ≤ m then coeff (m - s) p * r else 0 := by
@@ -1366,10 +1267,7 @@ theorem coeff_mul_monomial' (m) (s : σ →₀ ℕ) (r : R) (p : MvPolynomial σ
#align mv_polynomial.coeff_mul_monomial' MvPolynomial.coeff_mul_monomial'
/- warning: mv_polynomial.coeff_monomial_mul' -> MvPolynomial.coeff_monomial_mul' is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (m : Finsupp.{u2, 0} σ Nat Nat.hasZero) (s : Finsupp.{u2, 0} σ Nat Nat.hasZero) (r : R) (p : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) r) p)) (ite.{succ u1} R (LE.le.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.hasLe.{u2, 0} σ Nat Nat.hasZero Nat.hasLe) s m) (Finsupp.decidableLE.{u2, 0} σ Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) (fun (a : Nat) (b : Nat) => Nat.decidableLe a b) s m) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) r (MvPolynomial.coeff.{u1, u2} R σ _inst_1 (HSub.hSub.{u2, u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (instHSub.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.tsub.{u2, 0} σ Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) Nat.hasSub Nat.orderedSub)) m s) p)) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (r : R) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) r) p)) (ite.{succ u2} R (LE.le.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.instLEFinsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) instLENat) s m) (Finsupp.decidableLE.{u1, 0} σ Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) (fun (a : Nat) (b : Nat) => Nat.decLe a b) s m) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) r (MvPolynomial.coeff.{u2, u1} R σ _inst_1 (HSub.hSub.{u1, u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHSub.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.tsub.{u1, 0} σ Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) instSubNat Nat.instOrderedSubNatInstLENatInstAddNatInstSubNat)) m s) p)) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)))))
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.coeff_monomial_mul' MvPolynomial.coeff_monomial_mul'ₓ'. -/
theorem coeff_monomial_mul' (m) (s : σ →₀ ℕ) (r : R) (p : MvPolynomial σ R) :
coeff m (monomial s r * p) = if s ≤ m then r * coeff (m - s) p else 0 :=
@@ -1510,10 +1408,7 @@ theorem constantCoeff_eq : (constantCoeff : MvPolynomial σ R → R) = coeff 0 :
variable (σ)
/- warning: mv_polynomial.constant_coeff_C -> MvPolynomial.constantCoeff_C is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} (σ : Type.{u2}) [_inst_1 : CommSemiring.{u1} R] (r : R), Eq.{succ u1} R (coeFn.{max (succ (max u2 u1)) (succ u1), max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u2, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.constantCoeff.{u1, u2} R σ _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) r)) r
-but is expected to have type
- forall {R : Type.{u2}} (σ : Type.{u1}) [_inst_1 : CommSemiring.{u2} R] (r : R), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) (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.2397 : 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 (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} 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 (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : 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)) r
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.constant_coeff_C MvPolynomial.constantCoeff_Cₓ'. -/
@[simp]
theorem constantCoeff_C (r : R) : constantCoeff (C r : MvPolynomial σ R) = r := by
@@ -1538,10 +1433,7 @@ theorem constantCoeff_X (i : σ) : constantCoeff (X i : MvPolynomial σ R) = 0 :
variable {R}
/- warning: mv_polynomial.constant_coeff_smul -> MvPolynomial.constantCoeff_smul is a dubious translation:
-lean 3 declaration is
- forall {S₁ : Type.{u1}} {σ : Type.{u2}} [_inst_2 : CommSemiring.{u1} S₁] {R : Type.{u3}} [_inst_3 : SMulZeroClass.{u3, u1} R S₁ (MulZeroClass.toHasZero.{u1} S₁ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S₁ (Semiring.toNonAssocSemiring.{u1} S₁ (CommSemiring.toSemiring.{u1} S₁ _inst_2)))))] (a : R) (f : MvPolynomial.{u2, u1} σ S₁ _inst_2), Eq.{succ u1} S₁ (coeFn.{max (succ (max u2 u1)) (succ u1), max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u1, u2} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{u1} S₁ (CommSemiring.toSemiring.{u1} S₁ _inst_2))) (fun (_x : RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u1, u2} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{u1} S₁ (CommSemiring.toSemiring.{u1} S₁ _inst_2))) => (MvPolynomial.{u2, u1} σ S₁ _inst_2) -> S₁) (RingHom.hasCoeToFun.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u1, u2} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{u1} S₁ (CommSemiring.toSemiring.{u1} S₁ _inst_2))) (MvPolynomial.constantCoeff.{u1, u2} S₁ σ _inst_2) (SMul.smul.{u3, max u2 u1} R (MvPolynomial.{u2, u1} σ S₁ _inst_2) (SMulZeroClass.toHasSmul.{u3, max u2 u1} R (MvPolynomial.{u2, u1} σ S₁ _inst_2) (MulZeroClass.toHasZero.{max u2 u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMulZeroClass.{max u2 u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u1, u2} S₁ σ _inst_2)))))) (MvPolynomial.smulZeroClass.{u3, u1, u2} R S₁ σ _inst_2 _inst_3)) a f)) (SMul.smul.{u3, u1} R S₁ (SMulZeroClass.toHasSmul.{u3, u1} R S₁ (MulZeroClass.toHasZero.{u1} S₁ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S₁ (Semiring.toNonAssocSemiring.{u1} S₁ (CommSemiring.toSemiring.{u1} S₁ _inst_2))))) _inst_3) a (coeFn.{max (succ (max u2 u1)) (succ u1), max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u1, u2} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{u1} S₁ (CommSemiring.toSemiring.{u1} S₁ _inst_2))) (fun (_x : RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u1, u2} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{u1} S₁ (CommSemiring.toSemiring.{u1} S₁ _inst_2))) => (MvPolynomial.{u2, u1} σ S₁ _inst_2) -> S₁) (RingHom.hasCoeToFun.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u1, u2} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{u1} S₁ (CommSemiring.toSemiring.{u1} S₁ _inst_2))) (MvPolynomial.constantCoeff.{u1, u2} S₁ σ _inst_2) f))
-but is expected to have type
- forall {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_2 : CommSemiring.{u3} S₁] {R : Type.{u2}} [_inst_3 : SMulZeroClass.{u2, u3} R S₁ (CommMonoidWithZero.toZero.{u3} S₁ (CommSemiring.toCommMonoidWithZero.{u3} S₁ _inst_2))] (a : R) (f : MvPolynomial.{u1, u3} σ S₁ _inst_2), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) (HSMul.hSMul.{u2, max u3 u1, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (instHSMul.{u2, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (SMulZeroClass.toSMul.{u2, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (CommMonoidWithZero.toZero.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (CommSemiring.toCommMonoidWithZero.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u3, u1} S₁ σ _inst_2))) (MvPolynomial.smulZeroClass.{u2, u3, u1} R S₁ σ _inst_2 _inst_3))) a f)) (FunLike.coe.{max (succ u1) (succ u3), max (succ u1) (succ u3), succ u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (fun (_x : MvPolynomial.{u1, u3} σ S₁ _inst_2) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) _x) (MulHomClass.toFunLike.{max u1 u3, max u1 u3, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (NonUnitalNonAssocSemiring.toMul.{max u1 u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (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))))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u3, max u1 u3, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (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)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u3, max u1 u3, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{max u1 u3, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (MvPolynomial.constantCoeff.{u3, u1} S₁ σ _inst_2) (HSMul.hSMul.{u2, max u3 u1, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (instHSMul.{u2, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (SMulZeroClass.toSMul.{u2, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (CommMonoidWithZero.toZero.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (CommSemiring.toCommMonoidWithZero.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u3, u1} S₁ σ _inst_2))) (MvPolynomial.smulZeroClass.{u2, u3, u1} R S₁ σ _inst_2 _inst_3))) a f)) (HSMul.hSMul.{u2, u3, u3} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) f) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) f) (instHSMul.{u2, u3} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) f) (SMulZeroClass.toSMul.{u2, u3} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) f) (CommMonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) f) (CommSemiring.toCommMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) f) _inst_2)) _inst_3)) a (FunLike.coe.{max (succ u1) (succ u3), max (succ u1) (succ u3), succ u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (fun (_x : MvPolynomial.{u1, u3} σ S₁ _inst_2) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) _x) (MulHomClass.toFunLike.{max u1 u3, max u1 u3, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (NonUnitalNonAssocSemiring.toMul.{max u1 u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (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))))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u3, max u1 u3, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (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)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u3, max u1 u3, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{max u1 u3, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (MvPolynomial.constantCoeff.{u3, u1} S₁ σ _inst_2) f))
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.constant_coeff_smul MvPolynomial.constantCoeff_smulₓ'. -/
@[simp]
theorem constantCoeff_smul {R : Type _} [SMulZeroClass R S₁] (a : R) (f : MvPolynomial σ S₁) :
@@ -1550,10 +1442,7 @@ theorem constantCoeff_smul {R : Type _} [SMulZeroClass R S₁] (a : R) (f : MvPo
#align mv_polynomial.constant_coeff_smul MvPolynomial.constantCoeff_smul
/- warning: mv_polynomial.constant_coeff_monomial -> MvPolynomial.constantCoeff_monomial is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_3 : DecidableEq.{succ u2} σ] (d : Finsupp.{u2, 0} σ Nat Nat.hasZero) (r : R), Eq.{succ u1} R (coeFn.{max (succ (max u2 u1)) (succ u1), max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u2, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.constantCoeff.{u1, u2} R σ _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 d) r)) (ite.{succ u1} R (Eq.{succ u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) d (OfNat.ofNat.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (OfNat.mk.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (Zero.zero.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.zero.{u2, 0} σ Nat Nat.hasZero))))) (Finsupp.decidableEq.{u2, 0} σ Nat Nat.hasZero (fun (a : σ) (b : σ) => _inst_3 a b) (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) d (OfNat.ofNat.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (OfNat.mk.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (Zero.zero.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.zero.{u2, 0} σ Nat Nat.hasZero))))) r (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_3 : DecidableEq.{succ u1} σ] (d : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (r : R), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 d) r)) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 d) r)) (ite.{succ u2} R (Eq.{succ u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) d (OfNat.ofNat.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) 0 (Zero.toOfNat0.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.zero.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))))) (Finsupp.decidableEq.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (fun (a : σ) (b : σ) => _inst_3 a b) (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) d (OfNat.ofNat.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) 0 (Zero.toOfNat0.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.zero.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))))) r (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)))))
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.constant_coeff_monomial MvPolynomial.constantCoeff_monomialₓ'. -/
theorem constantCoeff_monomial [DecidableEq σ] (d : σ →₀ ℕ) (r : R) :
constantCoeff (monomial d r) = if d = 0 then r else 0 := by
@@ -1676,10 +1565,7 @@ theorem eval₂_add : (p + q).eval₂ f g = p.eval₂ f g + q.eval₂ f g := by
#align mv_polynomial.eval₂_add MvPolynomial.eval₂_add
/- warning: mv_polynomial.eval₂_monomial -> MvPolynomial.eval₂_monomial is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} {a : R} {s : Finsupp.{u3, 0} σ Nat Nat.hasZero} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : σ -> S₁), Eq.{succ u2} S₁ (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g (coeFn.{max (succ u1) (succ (max u3 u1)), max (succ u1) (succ (max u3 u1))} (LinearMap.{u1, u1, u1, max u3 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u3 u1} 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 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))))) (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 -> (MvPolynomial.{u3, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) a)) (HMul.hMul.{u2, u2, u2} S₁ S₁ S₁ (instHMul.{u2} S₁ (Distrib.toHasMul.{u2} S₁ (NonUnitalNonAssocSemiring.toDistrib.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) f a) (Finsupp.prod.{u3, 0, u2} σ Nat S₁ Nat.hasZero (CommSemiring.toCommMonoid.{u2} S₁ _inst_2) s (fun (n : σ) (e : Nat) => HPow.hPow.{u2, 0, u2} S₁ Nat S₁ (instHPow.{u2, 0} S₁ Nat (Monoid.Pow.{u2} S₁ (MonoidWithZero.toMonoid.{u2} S₁ (Semiring.toMonoidWithZero.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))))) (g n) e)))
-but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} {a : R} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁), Eq.{succ u3} S₁ (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a)) (HMul.hMul.{u3, u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) S₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (instHMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (NonUnitalNonAssocSemiring.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2))))) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f a) (Finsupp.prod.{u1, 0, u3} σ Nat S₁ (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (CommSemiring.toCommMonoid.{u3} S₁ _inst_2) s (fun (n : σ) (e : Nat) => HPow.hPow.{u3, 0, u3} S₁ Nat S₁ (instHPow.{u3, 0} S₁ Nat (Monoid.Pow.{u3} S₁ (MonoidWithZero.toMonoid.{u3} S₁ (Semiring.toMonoidWithZero.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))))) (g n) e)))
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_monomial MvPolynomial.eval₂_monomialₓ'. -/
@[simp]
theorem eval₂_monomial : (monomial s a).eval₂ f g = f a * s.Prod fun n e => g n ^ e :=
@@ -1720,10 +1606,7 @@ theorem eval₂_X (n) : (X n).eval₂ f g = g n := by
#align mv_polynomial.eval₂_X MvPolynomial.eval₂_X
/- warning: mv_polynomial.eval₂_mul_monomial -> MvPolynomial.eval₂_mul_monomial is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] {p : MvPolynomial.{u3, u1} σ R _inst_1} (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : σ -> S₁) {s : Finsupp.{u3, 0} σ Nat Nat.hasZero} {a : R}, Eq.{succ u2} S₁ (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g (HMul.hMul.{max u3 u1, max u3 u1, max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u1} σ R _inst_1) (instHMul.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (Distrib.toHasMul.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) p (coeFn.{max (succ u1) (succ (max u3 u1)), max (succ u1) (succ (max u3 u1))} (LinearMap.{u1, u1, u1, max u3 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u3 u1} 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 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))))) (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 -> (MvPolynomial.{u3, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) a))) (HMul.hMul.{u2, u2, u2} S₁ S₁ S₁ (instHMul.{u2} S₁ (Distrib.toHasMul.{u2} S₁ (NonUnitalNonAssocSemiring.toDistrib.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))))) (HMul.hMul.{u2, u2, u2} S₁ S₁ S₁ (instHMul.{u2} S₁ (Distrib.toHasMul.{u2} S₁ (NonUnitalNonAssocSemiring.toDistrib.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))))) (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g p) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) f a)) (Finsupp.prod.{u3, 0, u2} σ Nat S₁ Nat.hasZero (CommSemiring.toCommMonoid.{u2} S₁ _inst_2) s (fun (n : σ) (e : Nat) => HPow.hPow.{u2, 0, u2} S₁ Nat S₁ (instHPow.{u2, 0} S₁ Nat (Monoid.Pow.{u2} S₁ (MonoidWithZero.toMonoid.{u2} S₁ (Semiring.toMonoidWithZero.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))))) (g n) e)))
-but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] {p : MvPolynomial.{u1, u2} σ R _inst_1} (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁) {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} {a : R}, Eq.{succ u3} S₁ (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) p (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a))) (HMul.hMul.{u3, u3, u3} S₁ S₁ S₁ (instHMul.{u3} S₁ (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))))) (HMul.hMul.{u3, u3, u3} S₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) S₁ (instHMul.{u3} S₁ (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))))) (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g p) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f a)) (Finsupp.prod.{u1, 0, u3} σ Nat S₁ (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (CommSemiring.toCommMonoid.{u3} S₁ _inst_2) s (fun (n : σ) (e : Nat) => HPow.hPow.{u3, 0, u3} S₁ Nat S₁ (instHPow.{u3, 0} S₁ Nat (Monoid.Pow.{u3} S₁ (MonoidWithZero.toMonoid.{u3} S₁ (Semiring.toMonoidWithZero.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))))) (g n) e)))
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_mul_monomial MvPolynomial.eval₂_mul_monomialₓ'. -/
theorem eval₂_mul_monomial :
∀ {s a}, (p * monomial s a).eval₂ f g = p.eval₂ f g * f a * s.Prod fun n e => g n ^ e := by
@@ -1745,10 +1628,7 @@ theorem eval₂_mul_monomial :
#align mv_polynomial.eval₂_mul_monomial MvPolynomial.eval₂_mul_monomial
/- warning: mv_polynomial.eval₂_mul_C -> MvPolynomial.eval₂_mul_C is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} {a : R} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] {p : MvPolynomial.{u3, u1} σ R _inst_1} (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : σ -> S₁), Eq.{succ u2} S₁ (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g (HMul.hMul.{max u3 u1, max u3 u1, max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u1} σ R _inst_1) (instHMul.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (Distrib.toHasMul.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) p (coeFn.{max (succ u1) (succ (max u3 u1)), max (succ u1) (succ (max u3 u1))} (RingHom.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u3, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u3} R σ _inst_1) a))) (HMul.hMul.{u2, u2, u2} S₁ S₁ S₁ (instHMul.{u2} S₁ (Distrib.toHasMul.{u2} S₁ (NonUnitalNonAssocSemiring.toDistrib.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))))) (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g p) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) f a))
-but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} {a : R} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] {p : MvPolynomial.{u1, u2} σ R _inst_1} (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁), Eq.{succ u3} S₁ (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) p (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.2397 : 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) a))) (HMul.hMul.{u3, u3, u3} S₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) S₁ (instHMul.{u3} S₁ (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))))) (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g p) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f a))
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_mul_C MvPolynomial.eval₂_mul_Cₓ'. -/
theorem eval₂_mul_C : (p * C a).eval₂ f g = p.eval₂ f g * f a :=
(eval₂_mul_monomial _ _).trans <| by simp
@@ -1807,10 +1687,7 @@ theorem coe_eval₂Hom (f : R →+* S₁) (g : σ → S₁) : ⇑(eval₂Hom f g
#align mv_polynomial.coe_eval₂_hom MvPolynomial.coe_eval₂Hom
/- warning: mv_polynomial.eval₂_hom_congr -> MvPolynomial.eval₂Hom_congr is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] {f₁ : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))} {f₂ : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))} {g₁ : σ -> S₁} {g₂ : σ -> S₁} {p₁ : MvPolynomial.{u3, u1} σ R _inst_1} {p₂ : MvPolynomial.{u3, u1} σ R _inst_1}, (Eq.{max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) f₁ f₂) -> (Eq.{max (succ u3) (succ u2)} (σ -> S₁) g₁ g₂) -> (Eq.{max (succ u3) (succ u1)} (MvPolynomial.{u3, u1} σ R _inst_1) p₁ p₂) -> (Eq.{succ u2} S₁ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (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))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (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))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) (RingHom.hasCoeToFun.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (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))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (MvPolynomial.eval₂Hom.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f₁ g₁) p₁) (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (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))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (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))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) (RingHom.hasCoeToFun.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (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))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (MvPolynomial.eval₂Hom.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f₂ g₂) p₂))
-but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] {f₁ : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))} {f₂ : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))} {g₁ : σ -> S₁} {g₂ : σ -> S₁} {p₁ : MvPolynomial.{u1, u2} σ R _inst_1} {p₂ : MvPolynomial.{u1, u2} σ R _inst_1}, (Eq.{max (succ u2) (succ u3)} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) f₁ f₂) -> (Eq.{max (succ u3) (succ u1)} (σ -> S₁) g₁ g₂) -> (Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u1, u2} σ R _inst_1) p₁ p₂) -> (Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) p₁) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} 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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f₁ g₁) p₁) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} 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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f₂ g₂) p₂))
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_hom_congr MvPolynomial.eval₂Hom_congrₓ'. -/
theorem eval₂Hom_congr {f₁ f₂ : R →+* S₁} {g₁ g₂ : σ → S₁} {p₁ p₂ : MvPolynomial σ R} :
f₁ = f₂ → g₁ = g₂ → p₁ = p₂ → eval₂Hom f₁ g₁ p₁ = eval₂Hom f₂ g₂ p₂ := by
@@ -1820,10 +1697,7 @@ theorem eval₂Hom_congr {f₁ f₂ : R →+* S₁} {g₁ g₂ : σ → S₁} {p
end
/- warning: mv_polynomial.eval₂_hom_C -> MvPolynomial.eval₂Hom_C is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : σ -> S₁) (r : R), Eq.{succ u2} S₁ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (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))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (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))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) (RingHom.hasCoeToFun.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (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))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (MvPolynomial.eval₂Hom.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g) (coeFn.{max (succ u1) (succ (max u3 u1)), max (succ u1) (succ (max u3 u1))} (RingHom.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u3, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u3} R σ _inst_1) r)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) f r)
-but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁) (r : R), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) (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.2397 : 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 u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} 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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g) (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.2397 : 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 u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f r)
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_hom_C MvPolynomial.eval₂Hom_Cₓ'. -/
@[simp]
theorem eval₂Hom_C (f : R →+* S₁) (g : σ → S₁) (r : R) : eval₂Hom f g (C r) = f r :=
@@ -1859,10 +1733,7 @@ theorem comp_eval₂Hom [CommSemiring S₂] (f : R →+* S₁) (g : σ → S₁)
#align mv_polynomial.comp_eval₂_hom MvPolynomial.comp_eval₂Hom
/- warning: mv_polynomial.map_eval₂_hom -> MvPolynomial.map_eval₂Hom is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S₁ : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u4}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : CommSemiring.{u3} S₂] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : σ -> S₁) (φ : RingHom.{u2, u3} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))) (p : MvPolynomial.{u4, u1} σ R _inst_1), Eq.{succ u3} S₂ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (RingHom.{u2, u3} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))) (fun (_x : RingHom.{u2, u3} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))) => S₁ -> S₂) (RingHom.hasCoeToFun.{u2, u3} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))) φ (coeFn.{max (succ (max u4 u1)) (succ u2), max (succ (max u4 u1)) (succ u2)} (RingHom.{max u4 u1, u2} (MvPolynomial.{u4, u1} σ R _inst_1) S₁ (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{max u4 u1, u2} (MvPolynomial.{u4, u1} σ R _inst_1) S₁ (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => (MvPolynomial.{u4, u1} σ R _inst_1) -> S₁) (RingHom.hasCoeToFun.{max u4 u1, u2} (MvPolynomial.{u4, u1} σ R _inst_1) S₁ (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (MvPolynomial.eval₂Hom.{u1, u2, u4} R S₁ σ _inst_1 _inst_2 f g) p)) (coeFn.{max (succ (max u4 u1)) (succ u3), max (succ (max u4 u1)) (succ u3)} (RingHom.{max u4 u1, u3} (MvPolynomial.{u4, u1} σ R _inst_1) S₂ (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))) (fun (_x : RingHom.{max u4 u1, u3} (MvPolynomial.{u4, u1} σ R _inst_1) S₂ (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))) => (MvPolynomial.{u4, u1} σ R _inst_1) -> S₂) (RingHom.hasCoeToFun.{max u4 u1, u3} (MvPolynomial.{u4, u1} σ R _inst_1) S₂ (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))) (MvPolynomial.eval₂Hom.{u1, u3, u4} R S₂ σ _inst_1 _inst_3 (RingHom.comp.{u1, u2, u3} R S₁ S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3)) φ f) (fun (i : σ) => coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (RingHom.{u2, u3} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))) (fun (_x : RingHom.{u2, u3} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))) => S₁ -> S₂) (RingHom.hasCoeToFun.{u2, u3} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))) φ (g i))) p)
-but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {S₂ : Type.{u4}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : CommSemiring.{u4} S₂] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁) (φ : RingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S₁) => S₂) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (a : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} 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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g) p)) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (RingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) S₁ (fun (_x : S₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S₁) => S₂) _x) (MulHomClass.toFunLike.{max u3 u4, u3, u4} (RingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) S₁ S₂ (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{u4} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₂ (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u4, u3, u4} (RingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) S₁ S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₂ (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u4, u3, u4} (RingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)) (RingHom.instRingHomClassRingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)))))) φ (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} 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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g) p)) (FunLike.coe.{max (max (succ u2) (succ u4)) (succ u1), max (succ u2) (succ u1), 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_3))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) _x) (MulHomClass.toFunLike.{max (max u2 u4) u1, max u2 u1, 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_3))) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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_3)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u4) u1, max u2 u1, 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_3))) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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_3))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u4) u1, max u2 u1, 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_3))) (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_3)) (RingHom.instRingHomClassRingHom.{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_3)))))) (MvPolynomial.eval₂Hom.{u2, u4, u1} R S₂ σ _inst_1 _inst_3 (RingHom.comp.{u2, u3, u4} R S₁ S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)) φ f) (fun (i : σ) => FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (RingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) S₁ (fun (_x : S₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S₁) => S₂) _x) (MulHomClass.toFunLike.{max u3 u4, u3, u4} (RingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) S₁ S₂ (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{u4} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₂ (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u4, u3, u4} (RingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) S₁ S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₂ (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u4, u3, u4} (RingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)) (RingHom.instRingHomClassRingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)))))) φ (g i))) p)
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.map_eval₂_hom MvPolynomial.map_eval₂Homₓ'. -/
theorem map_eval₂Hom [CommSemiring S₂] (f : R →+* S₁) (g : σ → S₁) (φ : S₁ →+* S₂)
(p : MvPolynomial σ R) : φ (eval₂Hom f g p) = eval₂Hom (φ.comp f) (fun i => φ (g i)) p :=
@@ -1872,10 +1743,7 @@ theorem map_eval₂Hom [CommSemiring S₂] (f : R →+* S₁) (g : σ → S₁)
#align mv_polynomial.map_eval₂_hom MvPolynomial.map_eval₂Hom
/- warning: mv_polynomial.eval₂_hom_monomial -> MvPolynomial.eval₂Hom_monomial is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : σ -> S₁) (d : Finsupp.{u3, 0} σ Nat Nat.hasZero) (r : R), Eq.{succ u2} S₁ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (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))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (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))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) (RingHom.hasCoeToFun.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (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))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (MvPolynomial.eval₂Hom.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g) (coeFn.{max (succ u1) (succ (max u3 u1)), max (succ u1) (succ (max u3 u1))} (LinearMap.{u1, u1, u1, max u3 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u3 u1} 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 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))))) (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 -> (MvPolynomial.{u3, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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)) (HMul.hMul.{u2, u2, u2} S₁ S₁ S₁ (instHMul.{u2} S₁ (Distrib.toHasMul.{u2} S₁ (NonUnitalNonAssocSemiring.toDistrib.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) f r) (Finsupp.prod.{u3, 0, u2} σ Nat S₁ Nat.hasZero (CommSemiring.toCommMonoid.{u2} S₁ _inst_2) d (fun (i : σ) (k : Nat) => HPow.hPow.{u2, 0, u2} S₁ Nat S₁ (instHPow.{u2, 0} S₁ Nat (Monoid.Pow.{u2} S₁ (MonoidWithZero.toMonoid.{u2} S₁ (Semiring.toMonoidWithZero.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))))) (g i) k)))
-but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁) (d : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (r : R), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 d) r)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} 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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 d) r)) (HMul.hMul.{u3, u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) S₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (instHMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (NonUnitalNonAssocSemiring.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2))))) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f r) (Finsupp.prod.{u1, 0, u3} σ Nat S₁ (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (CommSemiring.toCommMonoid.{u3} S₁ _inst_2) d (fun (i : σ) (k : Nat) => HPow.hPow.{u3, 0, u3} S₁ Nat S₁ (instHPow.{u3, 0} S₁ Nat (Monoid.Pow.{u3} S₁ (MonoidWithZero.toMonoid.{u3} S₁ (Semiring.toMonoidWithZero.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))))) (g i) k)))
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_hom_monomial MvPolynomial.eval₂Hom_monomialₓ'. -/
theorem eval₂Hom_monomial (f : R →+* S₁) (g : σ → S₁) (d : σ →₀ ℕ) (r : R) :
eval₂Hom f g (monomial d r) = f r * d.Prod fun i k => g i ^ k := by
@@ -1886,10 +1754,7 @@ theorem eval₂Hom_monomial (f : R →+* S₁) (g : σ → S₁) (d : σ →₀
section
/- warning: mv_polynomial.eval₂_comp_left -> MvPolynomial.eval₂_comp_left is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] {S₂ : Type.{u4}} [_inst_3 : CommSemiring.{u4} S₂] (k : RingHom.{u2, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : σ -> S₁) (p : MvPolynomial.{u3, u1} σ R _inst_1), Eq.{succ u4} S₂ (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (RingHom.{u2, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) (fun (_x : RingHom.{u2, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) => S₁ -> S₂) (RingHom.hasCoeToFun.{u2, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) k (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g p)) (MvPolynomial.eval₂.{u1, u4, u3} R S₂ σ _inst_1 _inst_3 (RingHom.comp.{u1, u2, u4} R S₁ S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)) k f) (Function.comp.{succ u3, succ u2, succ u4} σ S₁ S₂ (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (RingHom.{u2, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) (fun (_x : RingHom.{u2, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) => S₁ -> S₂) (RingHom.hasCoeToFun.{u2, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) k) g) p)
-but is expected to have type
- forall {R : Type.{u3}} {S₁ : Type.{u4}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] [_inst_2 : CommSemiring.{u4} S₁] {S₂ : Type.{u2}} [_inst_3 : CommSemiring.{u2} S₂] (k : RingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) (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 : σ -> S₁) (p : MvPolynomial.{u1, u3} σ R _inst_1), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S₁) => S₂) (MvPolynomial.eval₂.{u3, u4, u1} R S₁ σ _inst_1 _inst_2 f g p)) (FunLike.coe.{max (succ u4) (succ u2), succ u4, succ u2} (RingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) S₁ (fun (_x : S₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S₁) => S₂) _x) (MulHomClass.toFunLike.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) S₁ S₂ (NonUnitalNonAssocSemiring.toMul.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{u2} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) S₁ S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3)) (RingHom.instRingHomClassRingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3)))))) k (MvPolynomial.eval₂.{u3, u4, u1} R S₁ σ _inst_1 _inst_2 f g p)) (MvPolynomial.eval₂.{u3, u2, u1} R S₂ σ _inst_1 _inst_3 (RingHom.comp.{u3, u4, u2} R S₁ S₂ (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3)) k f) (Function.comp.{succ u1, succ u4, succ u2} σ S₁ S₂ (FunLike.coe.{max (succ u4) (succ u2), succ u4, succ u2} (RingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) S₁ (fun (_x : S₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S₁) => S₂) _x) (MulHomClass.toFunLike.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) S₁ S₂ (NonUnitalNonAssocSemiring.toMul.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{u2} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) S₁ S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3)) (RingHom.instRingHomClassRingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3)))))) k) g) p)
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_comp_left MvPolynomial.eval₂_comp_leftₓ'. -/
theorem eval₂_comp_left {S₂} [CommSemiring S₂] (k : S₁ →+* S₂) (f : R →+* S₁) (g : σ → S₁) (p) :
k (eval₂ f g p) = eval₂ (k.comp f) (k ∘ g) p := by
@@ -2003,20 +1868,14 @@ theorem eval_eq' [Fintype σ] (x : σ → R) (f : MvPolynomial σ R) :
#align mv_polynomial.eval_eq' MvPolynomial.eval_eq'
/- warning: mv_polynomial.eval_monomial -> MvPolynomial.eval_monomial is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} {a : R} {s : Finsupp.{u2, 0} σ Nat Nat.hasZero} [_inst_1 : CommSemiring.{u1} R] {f : σ -> R}, Eq.{succ u1} R (coeFn.{max (succ (max u2 u1)) (succ u1), max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u2, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.eval.{u1, u2} R σ _inst_1 f) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) a)) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) a (Finsupp.prod.{u2, 0, u1} σ Nat R Nat.hasZero (CommSemiring.toCommMonoid.{u1} R _inst_1) s (fun (n : σ) (e : Nat) => HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (f n) e)))
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u2} R] {f : σ -> R}, Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.eval.{u2, u1} R σ _inst_1 f) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a)) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) a (Finsupp.prod.{u1, 0, u2} σ Nat R (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (CommSemiring.toCommMonoid.{u2} R _inst_1) s (fun (n : σ) (e : Nat) => HPow.hPow.{u2, 0, u2} R Nat R (instHPow.{u2, 0} R Nat (Monoid.Pow.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (f n) e)))
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval_monomial MvPolynomial.eval_monomialₓ'. -/
theorem eval_monomial : eval f (monomial s a) = a * s.Prod fun n e => f n ^ e :=
eval₂_monomial _ _
#align mv_polynomial.eval_monomial MvPolynomial.eval_monomial
/- warning: mv_polynomial.eval_C -> MvPolynomial.eval_C is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {f : σ -> R} (a : R), Eq.{succ u1} R (coeFn.{max (succ (max u2 u1)) (succ u1), max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u2, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.eval.{u1, u2} R σ _inst_1 f) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a)) a
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {f : σ -> R} (a : R), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) (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.2397 : 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) a)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.eval.{u2, u1} 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.2397 : 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) a)) a
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval_C MvPolynomial.eval_Cₓ'. -/
@[simp]
theorem eval_C : ∀ a, eval f (C a) = a :=
@@ -2035,10 +1894,7 @@ theorem eval_X : ∀ n, eval f (X n) = f n :=
#align mv_polynomial.eval_X MvPolynomial.eval_X
/- warning: mv_polynomial.smul_eval -> MvPolynomial.smul_eval is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (x : σ -> R) (p : MvPolynomial.{u2, u1} σ R _inst_1) (s : R), Eq.{succ u1} R (coeFn.{max (succ (max u2 u1)) (succ u1), max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u2, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.eval.{u1, u2} R σ _inst_1 x) (SMul.smul.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (SMulZeroClass.toHasSmul.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (MulZeroClass.toHasZero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toMulZeroClass.{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)))))) (MvPolynomial.smulZeroClass.{u1, u1, u2} R R σ _inst_1 (SMulWithZero.toSmulZeroClass.{u1, u1} R R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (MulZeroClass.toSMulWithZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))) s p)) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) s (coeFn.{max (succ (max u2 u1)) (succ u1), max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u2, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.eval.{u1, u2} R σ _inst_1 x) p))
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (x : σ -> R) (p : MvPolynomial.{u1, u2} σ R _inst_1) (s : R), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) (HSMul.hSMul.{u2, max u2 u1, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (Algebra.toSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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)))) s p)) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.eval.{u2, u1} R σ _inst_1 x) (HSMul.hSMul.{u2, max u2 u1, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (Algebra.toSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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)))) s p)) (HMul.hMul.{u2, u2, u2} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) s (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.eval.{u2, u1} R σ _inst_1 x) p))
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.smul_eval MvPolynomial.smul_evalₓ'. -/
@[simp]
theorem smul_eval (x) (p : MvPolynomial σ R) (s) : eval x (s • p) = s * eval x p := by
@@ -2046,10 +1902,7 @@ theorem smul_eval (x) (p : MvPolynomial σ R) (s) : eval x (s • p) = s * eval
#align mv_polynomial.smul_eval MvPolynomial.smul_eval
/- warning: mv_polynomial.eval_sum -> MvPolynomial.eval_sum is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {ι : Type.{u3}} (s : Finset.{u3} ι) (f : ι -> (MvPolynomial.{u2, u1} σ R _inst_1)) (g : σ -> R), Eq.{succ u1} R (coeFn.{max (succ (max u2 u1)) (succ u1), max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u2, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.eval.{u1, u2} R σ _inst_1 g) (Finset.sum.{max u2 u1, u3} (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))))) s (fun (i : ι) => f i))) (Finset.sum.{u1, u3} R ι (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) s (fun (i : ι) => coeFn.{max (succ (max u2 u1)) (succ u1), max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u2, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.eval.{u1, u2} R σ _inst_1 g) (f i)))
-but is expected to have type
- forall {R : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] {ι : Type.{u2}} (s : Finset.{u2} ι) (f : ι -> (MvPolynomial.{u1, u3} σ R _inst_1)) (g : σ -> R), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ R _inst_1) => R) (Finset.sum.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) ι (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) s (fun (i : ι) => f i))) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), succ u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) R (NonUnitalNonAssocSemiring.toMul.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))))) (MvPolynomial.eval.{u3, u1} R σ _inst_1 g) (Finset.sum.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) ι (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) s (fun (i : ι) => f i))) (Finset.sum.{u3, u2} R ι (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) s (fun (i : ι) => FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), succ u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) R (NonUnitalNonAssocSemiring.toMul.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))))) (MvPolynomial.eval.{u3, u1} R σ _inst_1 g) (f i)))
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval_sum MvPolynomial.eval_sumₓ'. -/
theorem eval_sum {ι : Type _} (s : Finset ι) (f : ι → MvPolynomial σ R) (g : σ → R) :
eval g (∑ i in s, f i) = ∑ i in s, eval g (f i) :=
@@ -2057,10 +1910,7 @@ theorem eval_sum {ι : Type _} (s : Finset ι) (f : ι → MvPolynomial σ R) (g
#align mv_polynomial.eval_sum MvPolynomial.eval_sum
/- warning: mv_polynomial.eval_prod -> MvPolynomial.eval_prod is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {ι : Type.{u3}} (s : Finset.{u3} ι) (f : ι -> (MvPolynomial.{u2, u1} σ R _inst_1)) (g : σ -> R), Eq.{succ u1} R (coeFn.{max (succ (max u2 u1)) (succ u1), max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u2, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.eval.{u1, u2} R σ _inst_1 g) (Finset.prod.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) ι (CommSemiring.toCommMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) s (fun (i : ι) => f i))) (Finset.prod.{u1, u3} R ι (CommSemiring.toCommMonoid.{u1} R _inst_1) s (fun (i : ι) => coeFn.{max (succ (max u2 u1)) (succ u1), max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u2, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.eval.{u1, u2} R σ _inst_1 g) (f i)))
-but is expected to have type
- forall {R : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] {ι : Type.{u2}} (s : Finset.{u2} ι) (f : ι -> (MvPolynomial.{u1, u3} σ R _inst_1)) (g : σ -> R), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ R _inst_1) => R) (Finset.prod.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) ι (CommSemiring.toCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) s (fun (i : ι) => f i))) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), succ u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) R (NonUnitalNonAssocSemiring.toMul.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))))) (MvPolynomial.eval.{u3, u1} R σ _inst_1 g) (Finset.prod.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) ι (CommSemiring.toCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) s (fun (i : ι) => f i))) (Finset.prod.{u3, u2} R ι (CommSemiring.toCommMonoid.{u3} R _inst_1) s (fun (i : ι) => FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), succ u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) R (NonUnitalNonAssocSemiring.toMul.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))))) (MvPolynomial.eval.{u3, u1} R σ _inst_1 g) (f i)))
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval_prod MvPolynomial.eval_prodₓ'. -/
@[to_additive]
theorem eval_prod {ι : Type _} (s : Finset ι) (f : ι → MvPolynomial σ R) (g : σ → R) :
@@ -2070,10 +1920,7 @@ theorem eval_prod {ι : Type _} (s : Finset ι) (f : ι → MvPolynomial σ R) (
#align mv_polynomial.eval_sum MvPolynomial.eval_sum
/- warning: mv_polynomial.eval_assoc -> MvPolynomial.eval_assoc is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {τ : Type.{u3}} (f : σ -> (MvPolynomial.{u3, u1} τ R _inst_1)) (g : τ -> R) (p : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{succ u1} R (coeFn.{max (succ (max u2 u1)) (succ u1), max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u2, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.eval.{u1, u2} R σ _inst_1 (Function.comp.{succ u2, max (succ u3) (succ u1), succ u1} σ (MvPolynomial.{u3, u1} τ R _inst_1) R (coeFn.{max (succ (max u3 u1)) (succ u1), max (succ (max u3 u1)) (succ u1)} (RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} τ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} τ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u3, u1} τ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u3 u1, u1} (MvPolynomial.{u3, u1} τ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.eval.{u1, u3} R τ _inst_1 g)) f)) p) (coeFn.{max (succ (max u3 u1)) (succ u1), max (succ (max u3 u1)) (succ u1)} (RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} τ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} τ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u3, u1} τ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u3 u1, u1} (MvPolynomial.{u3, u1} τ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.eval.{u1, u3} R τ _inst_1 g) (MvPolynomial.eval₂.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} τ R _inst_1) σ _inst_1 (MvPolynomial.commSemiring.{u1, u3} R τ _inst_1) (MvPolynomial.C.{u1, u3} R τ _inst_1) f p))
-but is expected to have type
- forall {R : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] {τ : Type.{u2}} (f : σ -> (MvPolynomial.{u2, u3} τ R _inst_1)) (g : τ -> R) (p : MvPolynomial.{u1, u3} σ R _inst_1), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ R _inst_1) => R) p) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), succ u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) R (NonUnitalNonAssocSemiring.toMul.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))))) (MvPolynomial.eval.{u3, u1} R σ _inst_1 (Function.comp.{succ u1, max (succ u3) (succ u2), succ u3} σ (MvPolynomial.{u2, u3} τ R _inst_1) R (FunLike.coe.{max (succ u3) (succ u2), max (succ u3) (succ u2), succ u3} (RingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} τ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (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) (fun (_x : MvPolynomial.{u2, u3} τ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u2, u3} τ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u3 u2, max u3 u2, u3} (RingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} τ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (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 (NonUnitalNonAssocSemiring.toMul.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, max u3 u2, u3} (RingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} τ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (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 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, max u3 u2, u3} (RingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} τ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (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 (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} τ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (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 g)) f)) p) (FunLike.coe.{max (succ u3) (succ u2), max (succ u3) (succ u2), succ u3} (RingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} τ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (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) (fun (_x : MvPolynomial.{u2, u3} τ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u2, u3} τ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u3 u2, max u3 u2, u3} (RingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} τ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (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 (NonUnitalNonAssocSemiring.toMul.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, max u3 u2, u3} (RingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} τ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (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 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, max u3 u2, u3} (RingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} τ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (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 (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} τ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (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 g) (MvPolynomial.eval₂.{u3, max u3 u2, u1} R (MvPolynomial.{u2, u3} τ R _inst_1) σ _inst_1 (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1) (MvPolynomial.C.{u3, u2} R τ _inst_1) f p))
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval_assoc MvPolynomial.eval_assocₓ'. -/
theorem eval_assoc {τ} (f : σ → MvPolynomial τ R) (g : τ → R) (p : MvPolynomial σ R) :
eval (eval g ∘ f) p = eval g (eval₂ C f p) :=
@@ -2095,10 +1942,7 @@ theorem eval₂_id (p : MvPolynomial σ R) (g : σ → R) : eval₂ (RingHom.id
#align mv_polynomial.eval₂_id MvPolynomial.eval₂_id
/- warning: mv_polynomial.eval_eval₂ -> MvPolynomial.eval_eval₂ is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] {τ : Type.{u4}} (f : RingHom.{u1, max u4 u2} R (MvPolynomial.{u4, u2} τ S₁ _inst_2) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} τ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} τ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ τ _inst_2)))) (g : σ -> (MvPolynomial.{u4, u2} τ S₁ _inst_2)) (p : MvPolynomial.{u3, u1} σ R _inst_1) (x : τ -> S₁), Eq.{succ u2} S₁ (coeFn.{max (succ (max u4 u2)) (succ u2), max (succ (max u4 u2)) (succ u2)} (RingHom.{max u4 u2, u2} (MvPolynomial.{u4, u2} τ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} τ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} τ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ τ _inst_2))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{max u4 u2, u2} (MvPolynomial.{u4, u2} τ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} τ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} τ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ τ _inst_2))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => (MvPolynomial.{u4, u2} τ S₁ _inst_2) -> S₁) (RingHom.hasCoeToFun.{max u4 u2, u2} (MvPolynomial.{u4, u2} τ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} τ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} τ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ τ _inst_2))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (MvPolynomial.eval.{u2, u4} S₁ τ _inst_2 x) (MvPolynomial.eval₂.{u1, max u4 u2, u3} R (MvPolynomial.{u4, u2} τ S₁ _inst_2) σ _inst_1 (MvPolynomial.commSemiring.{u2, u4} S₁ τ _inst_2) f g p)) (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 (RingHom.comp.{u1, max u4 u2, u2} R (MvPolynomial.{u4, u2} τ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} τ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} τ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ τ _inst_2))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (MvPolynomial.eval.{u2, u4} S₁ τ _inst_2 x) f) (fun (s : σ) => coeFn.{max (succ (max u4 u2)) (succ u2), max (succ (max u4 u2)) (succ u2)} (RingHom.{max u4 u2, u2} (MvPolynomial.{u4, u2} τ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} τ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} τ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ τ _inst_2))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{max u4 u2, u2} (MvPolynomial.{u4, u2} τ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} τ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} τ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ τ _inst_2))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => (MvPolynomial.{u4, u2} τ S₁ _inst_2) -> S₁) (RingHom.hasCoeToFun.{max u4 u2, u2} (MvPolynomial.{u4, u2} τ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} τ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} τ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ τ _inst_2))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (MvPolynomial.eval.{u2, u4} S₁ τ _inst_2 x) (g s)) p)
-but is expected to have type
- forall {R : Type.{u4}} {S₁ : Type.{u1}} {σ : Type.{u3}} {_inst_1 : Type.{u2}} {_inst_2 : _inst_1 -> σ} [τ : CommSemiring.{u4} R] [f : CommSemiring.{u3} σ] (g : RingHom.{u4, max u3 u2} R (MvPolynomial.{u2, u3} _inst_1 σ f) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R τ)) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f)))) (p : S₁ -> (MvPolynomial.{u2, u3} _inst_1 σ f)) (x : MvPolynomial.{u1, u4} S₁ R τ), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u2, u3} _inst_1 σ f) => σ) (MvPolynomial.eval₂.{u4, max u2 u3, u1} R (MvPolynomial.{u2, u3} _inst_1 σ f) S₁ τ (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f) g p x)) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), succ u3} (RingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} _inst_1 σ f) σ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ f))) (MvPolynomial.{u2, u3} _inst_1 σ f) (fun (_x : MvPolynomial.{u2, u3} _inst_1 σ f) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u2, u3} _inst_1 σ f) => σ) _x) (MulHomClass.toFunLike.{max u2 u3, max u2 u3, u3} (RingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} _inst_1 σ f) σ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ f))) (MvPolynomial.{u2, u3} _inst_1 σ f) σ (NonUnitalNonAssocSemiring.toMul.{max u2 u3} (MvPolynomial.{u2, u3} _inst_1 σ f) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (MvPolynomial.{u2, u3} _inst_1 σ f) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f))))) (NonUnitalNonAssocSemiring.toMul.{u3} σ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} σ (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ f)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, max u2 u3, u3} (RingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} _inst_1 σ f) σ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ f))) (MvPolynomial.{u2, u3} _inst_1 σ f) σ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (MvPolynomial.{u2, u3} _inst_1 σ f) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} σ (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ f))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, max u2 u3, u3} (RingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} _inst_1 σ f) σ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ f))) (MvPolynomial.{u2, u3} _inst_1 σ f) σ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ f)) (RingHom.instRingHomClassRingHom.{max u2 u3, u3} (MvPolynomial.{u2, u3} _inst_1 σ f) σ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ f)))))) (MvPolynomial.eval.{u3, u2} σ _inst_1 f _inst_2) (MvPolynomial.eval₂.{u4, max u2 u3, u1} R (MvPolynomial.{u2, u3} _inst_1 σ f) S₁ τ (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f) g p x)) (MvPolynomial.eval₂.{u4, u3, u1} R σ S₁ τ f (RingHom.comp.{u4, max u3 u2, u3} R (MvPolynomial.{u2, u3} _inst_1 σ f) σ (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R τ)) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ f)) (MvPolynomial.eval.{u3, u2} σ _inst_1 f _inst_2) g) (fun (s : S₁) => FunLike.coe.{max (succ u3) (succ u2), max (succ u3) (succ u2), succ u3} (RingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} _inst_1 σ f) σ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ f))) (MvPolynomial.{u2, u3} _inst_1 σ f) (fun (_x : MvPolynomial.{u2, u3} _inst_1 σ f) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u2, u3} _inst_1 σ f) => σ) _x) (MulHomClass.toFunLike.{max u3 u2, max u3 u2, u3} (RingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} _inst_1 σ f) σ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ f))) (MvPolynomial.{u2, u3} _inst_1 σ f) σ (NonUnitalNonAssocSemiring.toMul.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f))))) (NonUnitalNonAssocSemiring.toMul.{u3} σ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} σ (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ f)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, max u3 u2, u3} (RingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} _inst_1 σ f) σ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ f))) (MvPolynomial.{u2, u3} _inst_1 σ f) σ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} σ (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ f))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, max u3 u2, u3} (RingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} _inst_1 σ f) σ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ f))) (MvPolynomial.{u2, u3} _inst_1 σ f) σ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ f)) (RingHom.instRingHomClassRingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} _inst_1 σ f) σ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ f)))))) (MvPolynomial.eval.{u3, u2} σ _inst_1 f _inst_2) (p s)) x)
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval_eval₂ MvPolynomial.eval_eval₂ₓ'. -/
theorem eval_eval₂ {τ : Type _} (f : R →+* MvPolynomial τ S₁) (g : σ → MvPolynomial τ S₁)
(p : MvPolynomial σ R) (x : τ → S₁) :
@@ -2126,10 +1970,7 @@ def map : MvPolynomial σ R →+* MvPolynomial σ S₁ :=
-/
/- warning: mv_polynomial.map_monomial -> MvPolynomial.map_monomial is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (s : Finsupp.{u3, 0} σ Nat Nat.hasZero) (a : R), Eq.{max (succ u3) (succ u2)} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (coeFn.{max (succ (max u3 u1)) (succ (max u3 u2)), max (succ (max u3 u1)) (succ (max u3 u2))} (RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (fun (_x : RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> (MvPolynomial.{u3, u2} σ S₁ _inst_2)) (RingHom.hasCoeToFun.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (MvPolynomial.map.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f) (coeFn.{max (succ u1) (succ (max u3 u1)), max (succ u1) (succ (max u3 u1))} (LinearMap.{u1, u1, u1, max u3 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u3 u1} 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 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))))) (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 -> (MvPolynomial.{u3, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) a)) (coeFn.{max (succ u2) (succ (max u3 u2)), max (succ u2) (succ (max u3 u2))} (LinearMap.{u2, u2, u2, max u3 u2} S₁ S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (RingHom.id.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) S₁ (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))))) (Semiring.toModule.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (MvPolynomial.module.{u2, u2, u3} S₁ S₁ σ (CommSemiring.toSemiring.{u2} S₁ _inst_2) _inst_2 (Semiring.toModule.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))) (fun (_x : LinearMap.{u2, u2, u2, max u3 u2} S₁ S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (RingHom.id.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) S₁ (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))))) (Semiring.toModule.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (MvPolynomial.module.{u2, u2, u3} S₁ S₁ σ (CommSemiring.toSemiring.{u2} S₁ _inst_2) _inst_2 (Semiring.toModule.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))) => S₁ -> (MvPolynomial.{u3, u2} σ S₁ _inst_2)) (LinearMap.hasCoeToFun.{u2, u2, u2, max u3 u2} S₁ S₁ S₁ (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))))) (Semiring.toModule.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (MvPolynomial.module.{u2, u2, u3} S₁ S₁ σ (CommSemiring.toSemiring.{u2} S₁ _inst_2) _inst_2 (Semiring.toModule.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (RingHom.id.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))) (MvPolynomial.monomial.{u2, u3} S₁ σ _inst_2 s) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) f a))
-but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (a : R), Eq.{max (succ u3) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a)) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearMap.{u3, u3, u3, max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (RingHom.id.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) σ _inst_2))))) (Semiring.toModule.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2)) (MvPolynomial.module.{u3, u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) σ (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) _inst_2 (Semiring.toModule.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2)))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) => MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u3, max u1 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) σ _inst_2))))) (Semiring.toModule.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2)) (MvPolynomial.module.{u3, u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) σ (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) _inst_2 (Semiring.toModule.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2))) (RingHom.id.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2)))) (MvPolynomial.monomial.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) σ _inst_2 s) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f a))
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.map_monomial MvPolynomial.map_monomialₓ'. -/
@[simp]
theorem map_monomial (s : σ →₀ ℕ) (a : R) : map f (monomial s a) = monomial s (f a) :=
@@ -2137,10 +1978,7 @@ theorem map_monomial (s : σ →₀ ℕ) (a : R) : map f (monomial s a) = monomi
#align mv_polynomial.map_monomial MvPolynomial.map_monomial
/- warning: mv_polynomial.map_C -> MvPolynomial.map_C is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (a : R), Eq.{max (succ u3) (succ u2)} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (coeFn.{max (succ (max u3 u1)) (succ (max u3 u2)), max (succ (max u3 u1)) (succ (max u3 u2))} (RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (fun (_x : RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> (MvPolynomial.{u3, u2} σ S₁ _inst_2)) (RingHom.hasCoeToFun.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (MvPolynomial.map.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f) (coeFn.{max (succ u1) (succ (max u3 u1)), max (succ u1) (succ (max u3 u1))} (RingHom.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u3, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u3} R σ _inst_1) a)) (coeFn.{max (succ u2) (succ (max u3 u2)), max (succ u2) (succ (max u3 u2))} (RingHom.{u2, max u3 u2} S₁ (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (fun (_x : RingHom.{u2, max u3 u2} S₁ (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) => S₁ -> (MvPolynomial.{u3, u2} σ S₁ _inst_2)) (RingHom.hasCoeToFun.{u2, max u3 u2} S₁ (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (MvPolynomial.C.{u2, u3} S₁ σ _inst_2) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) f a))
-but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (a : R), Eq.{max (succ u3) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.2397 : 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) a)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 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.2397 : 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) a)) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (RingHom.{u3, max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) σ _inst_2)))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) => MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) _x) (MulHomClass.toFunLike.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) σ _inst_2)))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (NonUnitalNonAssocSemiring.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{max u1 u3} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) σ _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) σ _inst_2)))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) σ _inst_2)))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) σ _inst_2)))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) σ _inst_2))) (RingHom.instRingHomClassRingHom.{u3, max u1 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) σ _inst_2))))))) (MvPolynomial.C.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) σ _inst_2) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f a))
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.map_C MvPolynomial.map_Cₓ'. -/
@[simp]
theorem map_C : ∀ a : R, map f (C a : MvPolynomial σ R) = C (f a) :=
@@ -2169,10 +2007,7 @@ theorem map_id : ∀ p : MvPolynomial σ R, map (RingHom.id R) p = p :=
#align mv_polynomial.map_id MvPolynomial.map_id
/- warning: mv_polynomial.map_map -> MvPolynomial.map_map is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S₁ : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u4}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) [_inst_3 : CommSemiring.{u3} S₂] (g : RingHom.{u2, u3} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))) (p : MvPolynomial.{u4, u1} σ R _inst_1), Eq.{max (succ u4) (succ u3)} (MvPolynomial.{u4, u3} σ S₂ _inst_3) (coeFn.{max (succ (max u4 u2)) (succ (max u4 u3)), max (succ (max u4 u2)) (succ (max u4 u3))} (RingHom.{max u4 u2, max u4 u3} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.{u4, u3} σ S₂ _inst_3) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u3, u4} S₂ σ _inst_3)))) (fun (_x : RingHom.{max u4 u2, max u4 u3} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.{u4, u3} σ S₂ _inst_3) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u3, u4} S₂ σ _inst_3)))) => (MvPolynomial.{u4, u2} σ S₁ _inst_2) -> (MvPolynomial.{u4, u3} σ S₂ _inst_3)) (RingHom.hasCoeToFun.{max u4 u2, max u4 u3} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.{u4, u3} σ S₂ _inst_3) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u3, u4} S₂ σ _inst_3)))) (MvPolynomial.map.{u2, u3, u4} S₁ S₂ σ _inst_2 _inst_3 g) (coeFn.{max (succ (max u4 u1)) (succ (max u4 u2)), max (succ (max u4 u1)) (succ (max u4 u2))} (RingHom.{max u4 u1, max u4 u2} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.{u4, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ σ _inst_2)))) (fun (_x : RingHom.{max u4 u1, max u4 u2} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.{u4, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ σ _inst_2)))) => (MvPolynomial.{u4, u1} σ R _inst_1) -> (MvPolynomial.{u4, u2} σ S₁ _inst_2)) (RingHom.hasCoeToFun.{max u4 u1, max u4 u2} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.{u4, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ σ _inst_2)))) (MvPolynomial.map.{u1, u2, u4} R S₁ σ _inst_1 _inst_2 f) p)) (coeFn.{max (succ (max u4 u1)) (succ (max u4 u3)), max (succ (max u4 u1)) (succ (max u4 u3))} (RingHom.{max u4 u1, max u4 u3} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.{u4, u3} σ S₂ _inst_3) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u3, u4} S₂ σ _inst_3)))) (fun (_x : RingHom.{max u4 u1, max u4 u3} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.{u4, u3} σ S₂ _inst_3) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u3, u4} S₂ σ _inst_3)))) => (MvPolynomial.{u4, u1} σ R _inst_1) -> (MvPolynomial.{u4, u3} σ S₂ _inst_3)) (RingHom.hasCoeToFun.{max u4 u1, max u4 u3} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.{u4, u3} σ S₂ _inst_3) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u3, u4} S₂ σ _inst_3)))) (MvPolynomial.map.{u1, u3, u4} R S₂ σ _inst_1 _inst_3 (RingHom.comp.{u1, u2, u3} R S₁ S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3)) g f)) p)
-but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {S₂ : Type.{u4}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) [_inst_3 : CommSemiring.{u4} S₂] (g : RingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{max (succ u4) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => MvPolynomial.{u1, u4} σ S₂ _inst_3) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (fun (a : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f) p)) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u1), max (succ u3) (succ u1), max (succ u4) (succ u1)} (RingHom.{max u3 u1, max u4 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u4} σ S₂ _inst_3) (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))) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3)))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (fun (_x : MvPolynomial.{u1, u3} σ S₁ _inst_2) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => MvPolynomial.{u1, u4} σ S₂ _inst_3) _x) (MulHomClass.toFunLike.{max (max u3 u4) u1, max u3 u1, max u4 u1} (RingHom.{max u3 u1, max u4 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u4} σ S₂ _inst_3) (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))) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3)))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u4} σ S₂ _inst_3) (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))))) (NonUnitalNonAssocSemiring.toMul.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3))))) (NonUnitalRingHomClass.toMulHomClass.{max (max u3 u4) u1, max u3 u1, max u4 u1} (RingHom.{max u3 u1, max u4 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u4} σ S₂ _inst_3) (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))) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3)))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u4} σ S₂ _inst_3) (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)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3)))) (RingHomClass.toNonUnitalRingHomClass.{max (max u3 u4) u1, max u3 u1, max u4 u1} (RingHom.{max u3 u1, max u4 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u4} σ S₂ _inst_3) (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))) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3)))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u4} σ S₂ _inst_3) (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))) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3))) (RingHom.instRingHomClassRingHom.{max u3 u1, max u4 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u4} σ S₂ _inst_3) (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))) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3))))))) (MvPolynomial.map.{u3, u4, u1} S₁ S₂ σ _inst_2 _inst_3 g) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f) p)) (FunLike.coe.{max (max (succ u2) (succ u4)) (succ u1), max (succ u2) (succ u1), max (succ u4) (succ u1)} (RingHom.{max u2 u1, max u4 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u4} σ S₂ _inst_3) (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.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3)))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u4} σ S₂ _inst_3) _x) (MulHomClass.toFunLike.{max (max u2 u4) u1, max u2 u1, max u4 u1} (RingHom.{max u2 u1, max u4 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u4} σ S₂ _inst_3) (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.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3)))) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u4} σ S₂ _inst_3) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3))))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u4) u1, max u2 u1, max u4 u1} (RingHom.{max u2 u1, max u4 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u4} σ S₂ _inst_3) (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.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3)))) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u4} σ S₂ _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3)))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u4) u1, max u2 u1, max u4 u1} (RingHom.{max u2 u1, max u4 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u4} σ S₂ _inst_3) (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.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3)))) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u4} σ S₂ _inst_3) (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.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3))) (RingHom.instRingHomClassRingHom.{max u2 u1, max u4 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u4} σ S₂ _inst_3) (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.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3))))))) (MvPolynomial.map.{u2, u4, u1} R S₂ σ _inst_1 _inst_3 (RingHom.comp.{u2, u3, u4} R S₁ S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)) g f)) p)
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.map_map MvPolynomial.map_mapₓ'. -/
theorem map_map [CommSemiring S₂] (g : S₁ →+* S₂) (p : MvPolynomial σ R) :
map g (map f p) = map (g.comp f) p :=
@@ -2186,10 +2021,7 @@ theorem map_map [CommSemiring S₂] (g : S₁ →+* S₂) (p : MvPolynomial σ R
#align mv_polynomial.map_map MvPolynomial.map_map
/- warning: mv_polynomial.eval₂_eq_eval_map -> MvPolynomial.eval₂_eq_eval_map is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : σ -> S₁) (p : MvPolynomial.{u3, u1} σ R _inst_1), Eq.{succ u2} S₁ (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g p) (coeFn.{max (succ (max u3 u2)) (succ u2), max (succ (max u3 u2)) (succ u2)} (RingHom.{max u3 u2, u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{max u3 u2, u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => (MvPolynomial.{u3, u2} σ S₁ _inst_2) -> S₁) (RingHom.hasCoeToFun.{max u3 u2, u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (MvPolynomial.eval.{u2, u3} S₁ σ _inst_2 g) (coeFn.{max (succ (max u3 u1)) (succ (max u3 u2)), max (succ (max u3 u1)) (succ (max u3 u2))} (RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (fun (_x : RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> (MvPolynomial.{u3, u2} σ S₁ _inst_2)) (RingHom.hasCoeToFun.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (MvPolynomial.map.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f) p))
-but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} S₁ (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g p) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), succ u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (fun (_x : MvPolynomial.{u1, u3} σ S₁ _inst_2) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) _x) (MulHomClass.toFunLike.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (MvPolynomial.eval.{u3, u1} S₁ σ _inst_2 g) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f) p))
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_eq_eval_map MvPolynomial.eval₂_eq_eval_mapₓ'. -/
theorem eval₂_eq_eval_map (g : σ → S₁) (p : MvPolynomial σ R) : p.eval₂ f g = eval g (map f p) :=
by
@@ -2205,10 +2037,7 @@ theorem eval₂_eq_eval_map (g : σ → S₁) (p : MvPolynomial σ R) : p.eval
#align mv_polynomial.eval₂_eq_eval_map MvPolynomial.eval₂_eq_eval_map
/- warning: mv_polynomial.eval₂_comp_right -> MvPolynomial.eval₂_comp_right is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] {S₂ : Type.{u4}} [_inst_3 : CommSemiring.{u4} S₂] (k : RingHom.{u2, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : σ -> S₁) (p : MvPolynomial.{u3, u1} σ R _inst_1), Eq.{succ u4} S₂ (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (RingHom.{u2, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) (fun (_x : RingHom.{u2, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) => S₁ -> S₂) (RingHom.hasCoeToFun.{u2, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) k (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g p)) (MvPolynomial.eval₂.{u2, u4, u3} S₁ S₂ σ _inst_2 _inst_3 k (Function.comp.{succ u3, succ u2, succ u4} σ S₁ S₂ (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (RingHom.{u2, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) (fun (_x : RingHom.{u2, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) => S₁ -> S₂) (RingHom.hasCoeToFun.{u2, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) k) g) (coeFn.{max (succ (max u3 u1)) (succ (max u3 u2)), max (succ (max u3 u1)) (succ (max u3 u2))} (RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (fun (_x : RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> (MvPolynomial.{u3, u2} σ S₁ _inst_2)) (RingHom.hasCoeToFun.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (MvPolynomial.map.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f) p))
-but is expected to have type
- forall {R : Type.{u3}} {S₁ : Type.{u4}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] [_inst_2 : CommSemiring.{u4} S₁] {S₂ : Type.{u2}} [_inst_3 : CommSemiring.{u2} S₂] (k : RingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) (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 : σ -> S₁) (p : MvPolynomial.{u1, u3} σ R _inst_1), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S₁) => S₂) (MvPolynomial.eval₂.{u3, u4, u1} R S₁ σ _inst_1 _inst_2 f g p)) (FunLike.coe.{max (succ u4) (succ u2), succ u4, succ u2} (RingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) S₁ (fun (_x : S₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S₁) => S₂) _x) (MulHomClass.toFunLike.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) S₁ S₂ (NonUnitalNonAssocSemiring.toMul.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{u2} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) S₁ S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3)) (RingHom.instRingHomClassRingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3)))))) k (MvPolynomial.eval₂.{u3, u4, u1} R S₁ σ _inst_1 _inst_2 f g p)) (MvPolynomial.eval₂.{u4, u2, u1} S₁ S₂ σ _inst_2 _inst_3 k (Function.comp.{succ u1, succ u4, succ u2} σ S₁ S₂ (FunLike.coe.{max (succ u4) (succ u2), succ u4, succ u2} (RingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) S₁ (fun (_x : S₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S₁) => S₂) _x) (MulHomClass.toFunLike.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) S₁ S₂ (NonUnitalNonAssocSemiring.toMul.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{u2} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) S₁ S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3)) (RingHom.instRingHomClassRingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3)))))) k) g) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u1), max (succ u3) (succ u1), max (succ u4) (succ u1)} (RingHom.{max u3 u1, max u4 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u1, u4} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u4, u1} S₁ σ _inst_2)))) (MvPolynomial.{u1, u3} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ R _inst_1) => MvPolynomial.{u1, u4} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u3 u4) u1, max u3 u1, max u4 u1} (RingHom.{max u3 u1, max u4 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u1, u4} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u1} (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) (NonUnitalNonAssocSemiring.toMul.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{max u4 u1} (MvPolynomial.{u1, u4} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u4, u1} S₁ σ _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{max (max u3 u4) u1, max u3 u1, max u4 u1} (RingHom.{max u3 u1, max u4 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u1, u4} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u1} (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) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u4, u1} S₁ σ _inst_2)))) (RingHomClass.toNonUnitalRingHomClass.{max (max u3 u4) u1, max u3 u1, max u4 u1} (RingHom.{max u3 u1, max u4 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u1, u4} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u1} (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) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u4, u1} S₁ σ _inst_2))) (RingHom.instRingHomClassRingHom.{max u3 u1, max u4 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u1, u4} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u1} (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))
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_comp_right MvPolynomial.eval₂_comp_rightₓ'. -/
theorem eval₂_comp_right {S₂} [CommSemiring S₂] (k : S₁ →+* S₂) (f : R →+* S₁) (g : σ → S₁) (p) :
k (eval₂ f g p) = eval₂ k (k ∘ g) (map f p) :=
@@ -2223,10 +2052,7 @@ theorem eval₂_comp_right {S₂} [CommSemiring S₂] (k : S₁ →+* S₂) (f :
#align mv_polynomial.eval₂_comp_right MvPolynomial.eval₂_comp_right
/- warning: mv_polynomial.map_eval₂ -> MvPolynomial.map_eval₂ is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S₁ : Type.{u2}} {S₂ : Type.{u3}} {S₃ : Type.{u4}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : S₂ -> (MvPolynomial.{u4, u1} S₃ R _inst_1)) (p : MvPolynomial.{u3, u1} S₂ R _inst_1), Eq.{max (succ u4) (succ u2)} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (coeFn.{max (succ (max u4 u1)) (succ (max u4 u2)), max (succ (max u4 u1)) (succ (max u4 u2))} (RingHom.{max u4 u1, max u4 u2} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2)))) (fun (_x : RingHom.{max u4 u1, max u4 u2} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2)))) => (MvPolynomial.{u4, u1} S₃ R _inst_1) -> (MvPolynomial.{u4, u2} S₃ S₁ _inst_2)) (RingHom.hasCoeToFun.{max u4 u1, max u4 u2} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2)))) (MvPolynomial.map.{u1, u2, u4} R S₁ S₃ _inst_1 _inst_2 f) (MvPolynomial.eval₂.{u1, max u4 u1, u3} R (MvPolynomial.{u4, u1} S₃ R _inst_1) S₂ _inst_1 (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1) (MvPolynomial.C.{u1, u4} R S₃ _inst_1) g p)) (MvPolynomial.eval₂.{u2, max u4 u2, u3} S₁ (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) S₂ _inst_2 (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2) (MvPolynomial.C.{u2, u4} S₁ S₃ _inst_2) (Function.comp.{succ u3, max (succ u4) (succ u1), max (succ u4) (succ u2)} S₂ (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (coeFn.{max (succ (max u4 u1)) (succ (max u4 u2)), max (succ (max u4 u1)) (succ (max u4 u2))} (RingHom.{max u4 u1, max u4 u2} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2)))) (fun (_x : RingHom.{max u4 u1, max u4 u2} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2)))) => (MvPolynomial.{u4, u1} S₃ R _inst_1) -> (MvPolynomial.{u4, u2} S₃ S₁ _inst_2)) (RingHom.hasCoeToFun.{max u4 u1, max u4 u2} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2)))) (MvPolynomial.map.{u1, u2, u4} R S₁ S₃ _inst_1 _inst_2 f)) g) (coeFn.{max (succ (max u3 u1)) (succ (max u3 u2)), max (succ (max u3 u1)) (succ (max u3 u2))} (RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} S₂ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R S₂ _inst_1))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ S₂ _inst_2)))) (fun (_x : RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} S₂ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R S₂ _inst_1))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ S₂ _inst_2)))) => (MvPolynomial.{u3, u1} S₂ R _inst_1) -> (MvPolynomial.{u3, u2} S₂ S₁ _inst_2)) (RingHom.hasCoeToFun.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} S₂ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R S₂ _inst_1))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ S₂ _inst_2)))) (MvPolynomial.map.{u1, u2, u3} R S₁ S₂ _inst_1 _inst_2 f) p))
-but is expected to have type
- forall {R : Type.{u1}} {S₁ : Type.{u2}} {S₂ : Type.{u3}} {S₃ : Type.{u4}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : S₂ -> (MvPolynomial.{u4, u1} S₃ R _inst_1)) (p : MvPolynomial.{u3, u1} S₂ R _inst_1), Eq.{max (succ u2) (succ u4)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u4, u1} S₃ R _inst_1) => MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.eval₂.{u1, max u1 u4, u3} R (MvPolynomial.{u4, u1} S₃ R _inst_1) S₂ _inst_1 (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1) (MvPolynomial.C.{u1, u4} R S₃ _inst_1) g p)) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u4), max (succ u1) (succ u4), max (succ u2) (succ u4)} (RingHom.{max u1 u4, max u2 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1))) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2)))) (MvPolynomial.{u4, u1} S₃ R _inst_1) (fun (_x : MvPolynomial.{u4, u1} S₃ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u4, u1} S₃ R _inst_1) => MvPolynomial.{u4, u2} S₃ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u1 u2) u4, max u1 u4, max u2 u4} (RingHom.{max u1 u4, max u2 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1))) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2)))) (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{max (max u1 u2) u4, max u1 u4, max u2 u4} (RingHom.{max u1 u4, max u2 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1))) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2)))) (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2)))) (RingHomClass.toNonUnitalRingHomClass.{max (max u1 u2) u4, max u1 u4, max u2 u4} (RingHom.{max u1 u4, max u2 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1))) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2)))) (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1))) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2))) (RingHom.instRingHomClassRingHom.{max u1 u4, max u2 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1))) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2))))))) (MvPolynomial.map.{u1, u2, u4} R S₁ S₃ _inst_1 _inst_2 f) (MvPolynomial.eval₂.{u1, max u1 u4, u3} R (MvPolynomial.{u4, u1} S₃ R _inst_1) S₂ _inst_1 (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1) (MvPolynomial.C.{u1, u4} R S₃ _inst_1) g p)) (MvPolynomial.eval₂.{u2, max u4 u2, u3} S₁ (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) S₂ _inst_2 (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2) (MvPolynomial.C.{u2, u4} S₁ S₃ _inst_2) (Function.comp.{succ u3, max (succ u1) (succ u4), max (succ u4) (succ u2)} S₂ (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u4), max (succ u1) (succ u4), max (succ u2) (succ u4)} (RingHom.{max u1 u4, max u2 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1))) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2)))) (MvPolynomial.{u4, u1} S₃ R _inst_1) (fun (_x : MvPolynomial.{u4, u1} S₃ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u4, u1} S₃ R _inst_1) => MvPolynomial.{u4, u2} S₃ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u1 u2) u4, max u1 u4, max u2 u4} (RingHom.{max u1 u4, max u2 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1))) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2)))) (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{max (max u1 u2) u4, max u1 u4, max u2 u4} (RingHom.{max u1 u4, max u2 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1))) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2)))) (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2)))) (RingHomClass.toNonUnitalRingHomClass.{max (max u1 u2) u4, max u1 u4, max u2 u4} (RingHom.{max u1 u4, max u2 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1))) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2)))) (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1))) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2))) (RingHom.instRingHomClassRingHom.{max u1 u4, max u2 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1))) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2))))))) (MvPolynomial.map.{u1, u2, u4} R S₁ S₃ _inst_1 _inst_2 f)) g) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u1) (succ u3), max (succ u2) (succ u3)} (RingHom.{max u1 u3, max u2 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R S₂ _inst_1))) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ S₂ _inst_2)))) (MvPolynomial.{u3, u1} S₂ R _inst_1) (fun (_x : MvPolynomial.{u3, u1} S₂ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u3, u1} S₂ R _inst_1) => MvPolynomial.{u3, u2} S₂ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u1 u2) u3, max u1 u3, max u2 u3} (RingHom.{max u1 u3, max u2 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R S₂ _inst_1))) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ S₂ _inst_2)))) (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R S₂ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ S₂ _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{max (max u1 u2) u3, max u1 u3, max u2 u3} (RingHom.{max u1 u3, max u2 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R S₂ _inst_1))) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ S₂ _inst_2)))) (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R S₂ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ S₂ _inst_2)))) (RingHomClass.toNonUnitalRingHomClass.{max (max u1 u2) u3, max u1 u3, max u2 u3} (RingHom.{max u1 u3, max u2 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R S₂ _inst_1))) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ S₂ _inst_2)))) (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R S₂ _inst_1))) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ S₂ _inst_2))) (RingHom.instRingHomClassRingHom.{max u1 u3, max u2 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R S₂ _inst_1))) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ S₂ _inst_2))))))) (MvPolynomial.map.{u1, u2, u3} R S₁ S₂ _inst_1 _inst_2 f) p))
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.map_eval₂ MvPolynomial.map_eval₂ₓ'. -/
theorem map_eval₂ (f : R →+* S₁) (g : S₂ → MvPolynomial S₃ R) (p : MvPolynomial S₂ R) :
map f (eval₂ C g p) = eval₂ C (map f ∘ g) (map f p) :=
@@ -2241,10 +2067,7 @@ theorem map_eval₂ (f : R →+* S₁) (g : S₂ → MvPolynomial S₃ R) (p : M
#align mv_polynomial.map_eval₂ MvPolynomial.map_eval₂
/- warning: mv_polynomial.coeff_map -> MvPolynomial.coeff_map is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (p : MvPolynomial.{u3, u1} σ R _inst_1) (m : Finsupp.{u3, 0} σ Nat Nat.hasZero), Eq.{succ u2} S₁ (MvPolynomial.coeff.{u2, u3} S₁ σ _inst_2 m (coeFn.{max (succ (max u3 u1)) (succ (max u3 u2)), max (succ (max u3 u1)) (succ (max u3 u2))} (RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (fun (_x : RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> (MvPolynomial.{u3, u2} σ S₁ _inst_2)) (RingHom.hasCoeToFun.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (MvPolynomial.map.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f) p)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) f (MvPolynomial.coeff.{u1, u3} R σ _inst_1 m p))
-but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (p : MvPolynomial.{u1, u2} σ R _inst_1) (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)), Eq.{succ u3} S₁ (MvPolynomial.coeff.{u3, u1} S₁ σ _inst_2 m (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f) p)) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m p))
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.coeff_map MvPolynomial.coeff_mapₓ'. -/
theorem coeff_map (p : MvPolynomial σ R) : ∀ m : σ →₀ ℕ, coeff m (map f p) = f (coeff m p) := by
classical
@@ -2267,10 +2090,7 @@ theorem coeff_map (p : MvPolynomial σ R) : ∀ m : σ →₀ ℕ, coeff m (map
#align mv_polynomial.coeff_map MvPolynomial.coeff_map
/- warning: mv_polynomial.map_injective -> MvPolynomial.map_injective is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))), (Function.Injective.{succ u1, succ u2} R S₁ (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) f)) -> (Function.Injective.{max (succ u3) (succ u1), max (succ u3) (succ u2)} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (coeFn.{max (succ (max u3 u1)) (succ (max u3 u2)), max (succ (max u3 u1)) (succ (max u3 u2))} (RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (fun (_x : RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> (MvPolynomial.{u3, u2} σ S₁ _inst_2)) (RingHom.hasCoeToFun.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (MvPolynomial.map.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f)))
-but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))), (Function.Injective.{succ u2, succ u3} R S₁ (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f)) -> (Function.Injective.{max (succ u2) (succ u1), max (succ u3) (succ u1)} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f)))
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.map_injective MvPolynomial.map_injectiveₓ'. -/
theorem map_injective (hf : Function.Injective f) :
Function.Injective (map f : MvPolynomial σ R → MvPolynomial σ S₁) :=
@@ -2282,10 +2102,7 @@ theorem map_injective (hf : Function.Injective f) :
#align mv_polynomial.map_injective MvPolynomial.map_injective
/- warning: mv_polynomial.map_surjective -> MvPolynomial.map_surjective is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))), (Function.Surjective.{succ u1, succ u2} R S₁ (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) f)) -> (Function.Surjective.{max (succ u3) (succ u1), max (succ u3) (succ u2)} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (coeFn.{max (succ (max u3 u1)) (succ (max u3 u2)), max (succ (max u3 u1)) (succ (max u3 u2))} (RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (fun (_x : RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> (MvPolynomial.{u3, u2} σ S₁ _inst_2)) (RingHom.hasCoeToFun.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (MvPolynomial.map.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f)))
-but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))), (Function.Surjective.{succ u2, succ u3} R S₁ (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f)) -> (Function.Surjective.{max (succ u2) (succ u1), max (succ u3) (succ u1)} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f)))
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.map_surjective MvPolynomial.map_surjectiveₓ'. -/
theorem map_surjective (hf : Function.Surjective f) :
Function.Surjective (map f : MvPolynomial σ R → MvPolynomial σ S₁) := fun p =>
@@ -2299,10 +2116,7 @@ theorem map_surjective (hf : Function.Surjective f) :
#align mv_polynomial.map_surjective MvPolynomial.map_surjective
/- warning: mv_polynomial.map_left_inverse -> MvPolynomial.map_leftInverse is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] {f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))} {g : RingHom.{u2, u1} S₁ R (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))}, (Function.LeftInverse.{succ u2, succ u1} S₁ R (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) f) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (RingHom.{u2, u1} S₁ R (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{u2, u1} S₁ R (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => S₁ -> R) (RingHom.hasCoeToFun.{u2, u1} S₁ R (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) g)) -> (Function.LeftInverse.{max (succ u3) (succ u2), max (succ u3) (succ u1)} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.{u3, u1} σ R _inst_1) (coeFn.{max (succ (max u3 u1)) (succ (max u3 u2)), max (succ (max u3 u1)) (succ (max u3 u2))} (RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (fun (_x : RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> (MvPolynomial.{u3, u2} σ S₁ _inst_2)) (RingHom.hasCoeToFun.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (MvPolynomial.map.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f)) (coeFn.{max (succ (max u3 u2)) (succ (max u3 u1)), max (succ (max u3 u2)) (succ (max u3 u1))} (RingHom.{max u3 u2, max u3 u1} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))) (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)))) (fun (_x : RingHom.{max u3 u2, max u3 u1} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))) (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)))) => (MvPolynomial.{u3, u2} σ S₁ _inst_2) -> (MvPolynomial.{u3, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{max u3 u2, max u3 u1} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))) (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)))) (MvPolynomial.map.{u2, u1, u3} S₁ R σ _inst_2 _inst_1 g)))
-but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] {f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))} {g : RingHom.{u3, u2} S₁ R (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))}, (Function.LeftInverse.{succ u3, succ u2} S₁ R (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (RingHom.{u3, u2} S₁ R (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S₁ (fun (_x : S₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S₁) => R) _x) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (RingHom.{u3, u2} S₁ R (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S₁ R (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u3, u2} (RingHom.{u3, u2} S₁ R (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S₁ R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u3, u2} (RingHom.{u3, u2} S₁ R (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S₁ R (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{u3, u2} S₁ R (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) g)) -> (Function.LeftInverse.{max (succ u3) (succ u1), max (succ u2) (succ u1)} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u2} σ R _inst_1) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u3) (succ u1), max (succ u2) (succ u1)} (RingHom.{max u3 u1, max u2 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u2} σ 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))) (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.{u1, u3} σ S₁ _inst_2) (fun (_x : MvPolynomial.{u1, u3} σ S₁ _inst_2) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u3 u1, max u2 u1} (RingHom.{max u3 u1, max u2 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u2} σ 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))) (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.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u2} σ 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))))) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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 (max u2 u3) u1, max u3 u1, max u2 u1} (RingHom.{max u3 u1, max u2 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u2} σ 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))) (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.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u2} σ 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)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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 (max u2 u3) u1, max u3 u1, max u2 u1} (RingHom.{max u3 u1, max u2 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u2} σ 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))) (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.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u2} σ 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))) (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.{max u3 u1, max u2 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u2} σ 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))) (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.map.{u3, u2, u1} S₁ R σ _inst_2 _inst_1 g)))
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.map_left_inverse MvPolynomial.map_leftInverseₓ'. -/
/-- If `f` is a left-inverse of `g` then `map f` is a left-inverse of `map g`. -/
theorem map_leftInverse {f : R →+* S₁} {g : S₁ →+* R} (hf : Function.LeftInverse f g) :
@@ -2311,10 +2125,7 @@ theorem map_leftInverse {f : R →+* S₁} {g : S₁ →+* R} (hf : Function.Lef
#align mv_polynomial.map_left_inverse MvPolynomial.map_leftInverse
/- warning: mv_polynomial.map_right_inverse -> MvPolynomial.map_rightInverse is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] {f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))} {g : RingHom.{u2, u1} S₁ R (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))}, (Function.RightInverse.{succ u2, succ u1} S₁ R (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) f) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (RingHom.{u2, u1} S₁ R (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{u2, u1} S₁ R (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => S₁ -> R) (RingHom.hasCoeToFun.{u2, u1} S₁ R (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) g)) -> (Function.RightInverse.{max (succ u3) (succ u2), max (succ u3) (succ u1)} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.{u3, u1} σ R _inst_1) (coeFn.{max (succ (max u3 u1)) (succ (max u3 u2)), max (succ (max u3 u1)) (succ (max u3 u2))} (RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (fun (_x : RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> (MvPolynomial.{u3, u2} σ S₁ _inst_2)) (RingHom.hasCoeToFun.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (MvPolynomial.map.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f)) (coeFn.{max (succ (max u3 u2)) (succ (max u3 u1)), max (succ (max u3 u2)) (succ (max u3 u1))} (RingHom.{max u3 u2, max u3 u1} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))) (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)))) (fun (_x : RingHom.{max u3 u2, max u3 u1} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))) (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)))) => (MvPolynomial.{u3, u2} σ S₁ _inst_2) -> (MvPolynomial.{u3, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{max u3 u2, max u3 u1} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))) (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)))) (MvPolynomial.map.{u2, u1, u3} S₁ R σ _inst_2 _inst_1 g)))
-but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] {f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))} {g : RingHom.{u3, u2} S₁ R (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))}, (Function.RightInverse.{succ u3, succ u2} S₁ R (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (RingHom.{u3, u2} S₁ R (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S₁ (fun (_x : S₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S₁) => R) _x) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (RingHom.{u3, u2} S₁ R (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S₁ R (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u3, u2} (RingHom.{u3, u2} S₁ R (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S₁ R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u3, u2} (RingHom.{u3, u2} S₁ R (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S₁ R (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{u3, u2} S₁ R (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) g)) -> (Function.RightInverse.{max (succ u3) (succ u1), max (succ u2) (succ u1)} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u2} σ R _inst_1) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u3) (succ u1), max (succ u2) (succ u1)} (RingHom.{max u3 u1, max u2 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u2} σ 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))) (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.{u1, u3} σ S₁ _inst_2) (fun (_x : MvPolynomial.{u1, u3} σ S₁ _inst_2) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u3 u1, max u2 u1} (RingHom.{max u3 u1, max u2 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u2} σ 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))) (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.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u2} σ 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))))) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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 (max u2 u3) u1, max u3 u1, max u2 u1} (RingHom.{max u3 u1, max u2 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u2} σ 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))) (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.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u2} σ 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)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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 (max u2 u3) u1, max u3 u1, max u2 u1} (RingHom.{max u3 u1, max u2 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u2} σ 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))) (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.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u2} σ 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))) (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.{max u3 u1, max u2 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u2} σ 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))) (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.map.{u3, u2, u1} S₁ R σ _inst_2 _inst_1 g)))
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.map_right_inverse MvPolynomial.map_rightInverseₓ'. -/
/-- If `f` is a right-inverse of `g` then `map f` is a right-inverse of `map g`. -/
theorem map_rightInverse {f : R →+* S₁} {g : S₁ →+* R} (hf : Function.RightInverse f g) :
@@ -2323,10 +2134,7 @@ theorem map_rightInverse {f : R →+* S₁} {g : S₁ →+* R} (hf : Function.Ri
#align mv_polynomial.map_right_inverse MvPolynomial.map_rightInverse
/- warning: mv_polynomial.eval_map -> MvPolynomial.eval_map is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : σ -> S₁) (p : MvPolynomial.{u3, u1} σ R _inst_1), Eq.{succ u2} S₁ (coeFn.{max (succ (max u3 u2)) (succ u2), max (succ (max u3 u2)) (succ u2)} (RingHom.{max u3 u2, u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{max u3 u2, u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => (MvPolynomial.{u3, u2} σ S₁ _inst_2) -> S₁) (RingHom.hasCoeToFun.{max u3 u2, u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (MvPolynomial.eval.{u2, u3} S₁ σ _inst_2 g) (coeFn.{max (succ (max u3 u1)) (succ (max u3 u2)), max (succ (max u3 u1)) (succ (max u3 u2))} (RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (fun (_x : RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> (MvPolynomial.{u3, u2} σ S₁ _inst_2)) (RingHom.hasCoeToFun.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (MvPolynomial.map.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f) p)) (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g p)
-but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (fun (a : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f) p)) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), succ u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (fun (_x : MvPolynomial.{u1, u3} σ S₁ _inst_2) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) _x) (MulHomClass.toFunLike.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (MvPolynomial.eval.{u3, u1} S₁ σ _inst_2 g) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f) p)) (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g p)
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval_map MvPolynomial.eval_mapₓ'. -/
@[simp]
theorem eval_map (f : R →+* S₁) (g : σ → S₁) (p : MvPolynomial σ R) :
@@ -2335,10 +2143,7 @@ theorem eval_map (f : R →+* S₁) (g : σ → S₁) (p : MvPolynomial σ R) :
#align mv_polynomial.eval_map MvPolynomial.eval_map
/- warning: mv_polynomial.eval₂_map -> MvPolynomial.eval₂_map is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S₁ : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u4}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : CommSemiring.{u3} S₂] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : σ -> S₂) (φ : RingHom.{u2, u3} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))) (p : MvPolynomial.{u4, u1} σ R _inst_1), Eq.{succ u3} S₂ (MvPolynomial.eval₂.{u2, u3, u4} S₁ S₂ σ _inst_2 _inst_3 φ g (coeFn.{max (succ (max u4 u1)) (succ (max u4 u2)), max (succ (max u4 u1)) (succ (max u4 u2))} (RingHom.{max u4 u1, max u4 u2} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.{u4, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ σ _inst_2)))) (fun (_x : RingHom.{max u4 u1, max u4 u2} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.{u4, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ σ _inst_2)))) => (MvPolynomial.{u4, u1} σ R _inst_1) -> (MvPolynomial.{u4, u2} σ S₁ _inst_2)) (RingHom.hasCoeToFun.{max u4 u1, max u4 u2} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.{u4, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ σ _inst_2)))) (MvPolynomial.map.{u1, u2, u4} R S₁ σ _inst_1 _inst_2 f) p)) (MvPolynomial.eval₂.{u1, u3, u4} R S₂ σ _inst_1 _inst_3 (RingHom.comp.{u1, u2, u3} R S₁ S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3)) φ f) g p)
-but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {S₂ : Type.{u4}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : CommSemiring.{u4} S₂] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₂) (φ : RingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u4} S₂ (MvPolynomial.eval₂.{u3, u4, u1} S₁ S₂ σ _inst_2 _inst_3 φ g (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f) p)) (MvPolynomial.eval₂.{u2, u4, u1} R S₂ σ _inst_1 _inst_3 (RingHom.comp.{u2, u3, u4} R S₁ S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)) φ f) g p)
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_map MvPolynomial.eval₂_mapₓ'. -/
@[simp]
theorem eval₂_map [CommSemiring S₂] (f : R →+* S₁) (g : σ → S₂) (φ : S₁ →+* S₂)
@@ -2347,10 +2152,7 @@ theorem eval₂_map [CommSemiring S₂] (f : R →+* S₁) (g : σ → S₂) (φ
#align mv_polynomial.eval₂_map MvPolynomial.eval₂_map
/- warning: mv_polynomial.eval₂_hom_map_hom -> MvPolynomial.eval₂Hom_map_hom is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S₁ : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u4}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : CommSemiring.{u3} S₂] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : σ -> S₂) (φ : RingHom.{u2, u3} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))) (p : MvPolynomial.{u4, u1} σ R _inst_1), Eq.{succ u3} S₂ (coeFn.{max (succ (max u4 u2)) (succ u3), max (succ (max u4 u2)) (succ u3)} (RingHom.{max u4 u2, u3} (MvPolynomial.{u4, u2} σ S₁ _inst_2) S₂ (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))) (fun (_x : RingHom.{max u4 u2, u3} (MvPolynomial.{u4, u2} σ S₁ _inst_2) S₂ (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))) => (MvPolynomial.{u4, u2} σ S₁ _inst_2) -> S₂) (RingHom.hasCoeToFun.{max u4 u2, u3} (MvPolynomial.{u4, u2} σ S₁ _inst_2) S₂ (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))) (MvPolynomial.eval₂Hom.{u2, u3, u4} S₁ S₂ σ _inst_2 _inst_3 φ g) (coeFn.{max (succ (max u4 u1)) (succ (max u4 u2)), max (succ (max u4 u1)) (succ (max u4 u2))} (RingHom.{max u4 u1, max u4 u2} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.{u4, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ σ _inst_2)))) (fun (_x : RingHom.{max u4 u1, max u4 u2} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.{u4, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ σ _inst_2)))) => (MvPolynomial.{u4, u1} σ R _inst_1) -> (MvPolynomial.{u4, u2} σ S₁ _inst_2)) (RingHom.hasCoeToFun.{max u4 u1, max u4 u2} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.{u4, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ σ _inst_2)))) (MvPolynomial.map.{u1, u2, u4} R S₁ σ _inst_1 _inst_2 f) p)) (coeFn.{max (succ (max u4 u1)) (succ u3), max (succ (max u4 u1)) (succ u3)} (RingHom.{max u4 u1, u3} (MvPolynomial.{u4, u1} σ R _inst_1) S₂ (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))) (fun (_x : RingHom.{max u4 u1, u3} (MvPolynomial.{u4, u1} σ R _inst_1) S₂ (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))) => (MvPolynomial.{u4, u1} σ R _inst_1) -> S₂) (RingHom.hasCoeToFun.{max u4 u1, u3} (MvPolynomial.{u4, u1} σ R _inst_1) S₂ (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))) (MvPolynomial.eval₂Hom.{u1, u3, u4} R S₂ σ _inst_1 _inst_3 (RingHom.comp.{u1, u2, u3} R S₁ S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3)) φ f) g) p)
-but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {S₂ : Type.{u4}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : CommSemiring.{u4} S₂] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₂) (φ : RingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₂) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (fun (a : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f) p)) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u1), max (succ u3) (succ u1), succ u4} (RingHom.{max u3 u1, u4} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₂ (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))) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (fun (_x : MvPolynomial.{u1, u3} σ S₁ _inst_2) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₂) _x) (MulHomClass.toFunLike.{max (max u3 u4) u1, max u3 u1, u4} (RingHom.{max u3 u1, u4} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₂ (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))) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₂ (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))))) (NonUnitalNonAssocSemiring.toMul.{u4} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₂ (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u3 u4) u1, max u3 u1, u4} (RingHom.{max u3 u1, u4} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₂ (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))) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₂ (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)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₂ (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max (max u3 u4) u1, max u3 u1, u4} (RingHom.{max u3 u1, u4} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₂ (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))) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₂ (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))) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)) (RingHom.instRingHomClassRingHom.{max u3 u1, u4} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₂ (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))) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)))))) (MvPolynomial.eval₂Hom.{u3, u4, u1} S₁ S₂ σ _inst_2 _inst_3 φ g) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f) p)) (FunLike.coe.{max (max (succ u2) (succ u4)) (succ u1), max (succ u2) (succ u1), 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_3))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) _x) (MulHomClass.toFunLike.{max (max u2 u4) u1, max u2 u1, 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_3))) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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_3)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u4) u1, max u2 u1, 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_3))) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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_3))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u4) u1, max u2 u1, 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_3))) (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_3)) (RingHom.instRingHomClassRingHom.{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_3)))))) (MvPolynomial.eval₂Hom.{u2, u4, u1} R S₂ σ _inst_1 _inst_3 (RingHom.comp.{u2, u3, u4} R S₁ S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)) φ f) g) p)
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_hom_map_hom MvPolynomial.eval₂Hom_map_homₓ'. -/
@[simp]
theorem eval₂Hom_map_hom [CommSemiring S₂] (f : R →+* S₁) (g : σ → S₂) (φ : S₁ →+* S₂)
@@ -2359,10 +2161,7 @@ theorem eval₂Hom_map_hom [CommSemiring S₂] (f : R →+* S₁) (g : σ → S
#align mv_polynomial.eval₂_hom_map_hom MvPolynomial.eval₂Hom_map_hom
/- warning: mv_polynomial.constant_coeff_map -> MvPolynomial.constantCoeff_map is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (φ : MvPolynomial.{u3, u1} σ R _inst_1), Eq.{succ u2} S₁ (coeFn.{max (succ (max u3 u2)) (succ u2), max (succ (max u3 u2)) (succ u2)} (RingHom.{max u3 u2, u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{max u3 u2, u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => (MvPolynomial.{u3, u2} σ S₁ _inst_2) -> S₁) (RingHom.hasCoeToFun.{max u3 u2, u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (MvPolynomial.constantCoeff.{u2, u3} S₁ σ _inst_2) (coeFn.{max (succ (max u3 u1)) (succ (max u3 u2)), max (succ (max u3 u1)) (succ (max u3 u2))} (RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (fun (_x : RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> (MvPolynomial.{u3, u2} σ S₁ _inst_2)) (RingHom.hasCoeToFun.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (MvPolynomial.map.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f) φ)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) f (coeFn.{max (succ (max u3 u1)) (succ u1), max (succ (max u3 u1)) (succ u1)} (RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.constantCoeff.{u1, u3} R σ _inst_1) φ))
-but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (φ : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (fun (a : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f) φ)) (FunLike.coe.{max (succ u1) (succ u3), max (succ u1) (succ u3), succ u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (fun (_x : MvPolynomial.{u1, u3} σ S₁ _inst_2) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) _x) (MulHomClass.toFunLike.{max u1 u3, max u1 u3, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (NonUnitalNonAssocSemiring.toMul.{max u1 u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (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))))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u3, max u1 u3, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (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)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u3, max u1 u3, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{max u1 u3, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (MvPolynomial.constantCoeff.{u3, u1} S₁ σ _inst_2) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f) φ)) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) φ))
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.constant_coeff_map MvPolynomial.constantCoeff_mapₓ'. -/
@[simp]
theorem constantCoeff_map (f : R →+* S₁) (φ : MvPolynomial σ R) :
@@ -2400,10 +2199,7 @@ theorem support_map_subset (p : MvPolynomial σ R) : (map f p).support ⊆ p.sup
#align mv_polynomial.support_map_subset MvPolynomial.support_map_subset
/- warning: mv_polynomial.support_map_of_injective -> MvPolynomial.support_map_of_injective is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (p : MvPolynomial.{u3, u1} σ R _inst_1) {f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))}, (Function.Injective.{succ u1, succ u2} R S₁ (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) f)) -> (Eq.{succ u3} (Finset.{u3} (Finsupp.{u3, 0} σ Nat Nat.hasZero)) (MvPolynomial.support.{u2, u3} S₁ σ _inst_2 (coeFn.{max (succ (max u3 u1)) (succ (max u3 u2)), max (succ (max u3 u1)) (succ (max u3 u2))} (RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (fun (_x : RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> (MvPolynomial.{u3, u2} σ S₁ _inst_2)) (RingHom.hasCoeToFun.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (MvPolynomial.map.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f) p)) (MvPolynomial.support.{u1, u3} R σ _inst_1 p))
-but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (p : MvPolynomial.{u1, u2} σ R _inst_1) {f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))}, (Function.Injective.{succ u2, succ u3} R S₁ (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f)) -> (Eq.{succ u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.support.{u3, u1} S₁ σ _inst_2 (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f) p)) (MvPolynomial.support.{u2, u1} R σ _inst_1 p))
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.support_map_of_injective MvPolynomial.support_map_of_injectiveₓ'. -/
theorem support_map_of_injective (p : MvPolynomial σ R) {f : R →+* S₁} (hf : Injective f) :
(map f p).support = p.support :=
@@ -2420,10 +2216,7 @@ theorem support_map_of_injective (p : MvPolynomial σ R) {f : R →+* S₁} (hf
#align mv_polynomial.support_map_of_injective MvPolynomial.support_map_of_injective
/- warning: mv_polynomial.C_dvd_iff_map_hom_eq_zero -> MvPolynomial.C_dvd_iff_map_hom_eq_zero is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (q : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (r : R), (forall (r' : R), Iff (Eq.{succ u2} S₁ (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) q r') (OfNat.ofNat.{u2} S₁ 0 (OfNat.mk.{u2} S₁ 0 (Zero.zero.{u2} S₁ (MulZeroClass.toHasZero.{u2} S₁ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))))))))) (Dvd.Dvd.{u1} R (semigroupDvd.{u1} R (SemigroupWithZero.toSemigroup.{u1} R (NonUnitalSemiring.toSemigroupWithZero.{u1} R (NonUnitalCommSemiring.toNonUnitalSemiring.{u1} R (CommSemiring.toNonUnitalCommSemiring.{u1} R _inst_1))))) r r')) -> (forall (φ : MvPolynomial.{u3, u1} σ R _inst_1), Iff (Dvd.Dvd.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (semigroupDvd.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (SemigroupWithZero.toSemigroup.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (NonUnitalSemiring.toSemigroupWithZero.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (NonUnitalCommSemiring.toNonUnitalSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (CommSemiring.toNonUnitalCommSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)))))) (coeFn.{max (succ u1) (succ (max u3 u1)), max (succ u1) (succ (max u3 u1))} (RingHom.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u3, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u3} R σ _inst_1) r) φ) (Eq.{max (succ u3) (succ u2)} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (coeFn.{max (succ (max u3 u1)) (succ (max u3 u2)), max (succ (max u3 u1)) (succ (max u3 u2))} (RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (fun (_x : RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> (MvPolynomial.{u3, u2} σ S₁ _inst_2)) (RingHom.hasCoeToFun.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (MvPolynomial.map.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 q) φ) (OfNat.ofNat.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) 0 (OfNat.mk.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) 0 (Zero.zero.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MulZeroClass.toHasZero.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMulZeroClass.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))))))))))
-but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (q : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (r : R), (forall (r' : R), Iff (Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r') (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) q r') (OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r') 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r') (CommMonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r') (CommSemiring.toCommMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r') _inst_2))))) (Dvd.dvd.{u2} R (semigroupDvd.{u2} R (SemigroupWithZero.toSemigroup.{u2} R (NonUnitalSemiring.toSemigroupWithZero.{u2} R (NonUnitalCommSemiring.toNonUnitalSemiring.{u2} R (CommSemiring.toNonUnitalCommSemiring.{u2} R _inst_1))))) r r')) -> (forall (φ : MvPolynomial.{u1, u2} σ R _inst_1), Iff (Dvd.dvd.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (semigroupDvd.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (SemigroupWithZero.toSemigroup.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (NonUnitalSemiring.toSemigroupWithZero.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (NonUnitalCommSemiring.toNonUnitalSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (CommSemiring.toNonUnitalCommSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (MvPolynomial.commSemiring.{u2, u1} 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 (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : 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) φ) (Eq.{max (succ u3) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) φ) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 q) φ) (OfNat.ofNat.{max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) φ) 0 (Zero.toOfNat0.{max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) φ) (CommMonoidWithZero.toZero.{max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) φ) (CommSemiring.toCommMonoidWithZero.{max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) φ) (MvPolynomial.commSemiring.{u3, u1} S₁ σ _inst_2)))))))
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.C_dvd_iff_map_hom_eq_zero MvPolynomial.C_dvd_iff_map_hom_eq_zeroₓ'. -/
theorem C_dvd_iff_map_hom_eq_zero (q : R →+* S₁) (r : R) (hr : ∀ r' : R, q r' = 0 ↔ r ∣ r')
(φ : MvPolynomial σ R) : C r ∣ φ ↔ map q φ = 0 :=
@@ -2433,10 +2226,7 @@ theorem C_dvd_iff_map_hom_eq_zero (q : R →+* S₁) (r : R) (hr : ∀ r' : R, q
#align mv_polynomial.C_dvd_iff_map_hom_eq_zero MvPolynomial.C_dvd_iff_map_hom_eq_zero
/- warning: mv_polynomial.map_map_range_eq_iff -> MvPolynomial.map_mapRange_eq_iff is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : S₁ -> R) (hg : Eq.{succ u1} R (g (OfNat.ofNat.{u2} S₁ 0 (OfNat.mk.{u2} S₁ 0 (Zero.zero.{u2} S₁ (MulZeroClass.toHasZero.{u2} S₁ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))))))))) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) (φ : MvPolynomial.{u3, u2} σ S₁ _inst_2), Iff (Eq.{max (succ u3) (succ u2)} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (coeFn.{max (succ (max u3 u1)) (succ (max u3 u2)), max (succ (max u3 u1)) (succ (max u3 u2))} (RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (fun (_x : RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> (MvPolynomial.{u3, u2} σ S₁ _inst_2)) (RingHom.hasCoeToFun.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (MvPolynomial.map.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f) (Finsupp.mapRange.{u3, u2, u1} (Finsupp.{u3, 0} σ Nat Nat.hasZero) S₁ R (MulZeroClass.toHasZero.{u2} S₁ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))))) (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) g hg φ)) φ) (forall (d : Finsupp.{u3, 0} σ Nat Nat.hasZero), Eq.{succ u2} S₁ (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) f (g (MvPolynomial.coeff.{u2, u3} S₁ σ _inst_2 d φ))) (MvPolynomial.coeff.{u2, u3} S₁ σ _inst_2 d φ))
-but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : S₁ -> R) (hg : Eq.{succ u2} R (g (OfNat.ofNat.{u3} S₁ 0 (Zero.toOfNat0.{u3} S₁ (CommMonoidWithZero.toZero.{u3} S₁ (CommSemiring.toCommMonoidWithZero.{u3} S₁ _inst_2))))) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) (φ : MvPolynomial.{u1, u3} σ S₁ _inst_2), Iff (Eq.{max (succ u3) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) (Finsupp.mapRange.{u1, u3, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) S₁ R (CommMonoidWithZero.toZero.{u3} S₁ (CommSemiring.toCommMonoidWithZero.{u3} S₁ _inst_2)) (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) g hg φ)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f) (Finsupp.mapRange.{u1, u3, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) S₁ R (CommMonoidWithZero.toZero.{u3} S₁ (CommSemiring.toCommMonoidWithZero.{u3} S₁ _inst_2)) (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) g hg φ)) φ) (forall (d : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) (g (MvPolynomial.coeff.{u3, u1} S₁ σ _inst_2 d φ))) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f (g (MvPolynomial.coeff.{u3, u1} S₁ σ _inst_2 d φ))) (MvPolynomial.coeff.{u3, u1} S₁ σ _inst_2 d φ))
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.map_map_range_eq_iff MvPolynomial.map_mapRange_eq_iffₓ'. -/
theorem map_mapRange_eq_iff (f : R →+* S₁) (g : S₁ → R) (hg : g 0 = 0) (φ : MvPolynomial σ S₁) :
map f (Finsupp.mapRange g hg φ) = φ ↔ ∀ d, f (g (coeff d φ)) = coeff d φ :=
@@ -2476,10 +2266,7 @@ theorem mapAlgHom_id [Algebra R S₁] :
#align mv_polynomial.map_alg_hom_id MvPolynomial.mapAlgHom_id
/- warning: mv_polynomial.map_alg_hom_coe_ring_hom -> MvPolynomial.mapAlgHom_coe_ringHom is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S₁ : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u4}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : CommSemiring.{u3} S₂] [_inst_4 : Algebra.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2)] [_inst_5 : Algebra.{u1, u3} R S₂ _inst_1 (CommSemiring.toSemiring.{u3} S₂ _inst_3)] (f : AlgHom.{u1, u2, u3} R S₁ S₂ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) (CommSemiring.toSemiring.{u3} S₂ _inst_3) _inst_4 _inst_5), Eq.{max (succ (max u4 u2)) (succ (max u4 u3))} (RingHom.{max u4 u2, max u4 u3} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.{u4, u3} σ S₂ _inst_3) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u3, u4} S₂ σ _inst_3)))) ((fun (a : Sort.{max (succ (max u4 u2)) (succ (max u4 u3))}) (b : Sort.{max (succ (max u4 u2)) (succ (max u4 u3))}) [self : HasLiftT.{max (succ (max u4 u2)) (succ (max u4 u3)), max (succ (max u4 u2)) (succ (max u4 u3))} a b] => self.0) (AlgHom.{u1, max u4 u2, max u4 u3} R (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.{u4, u3} σ S₂ _inst_3) _inst_1 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ σ _inst_2)) (CommSemiring.toSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u3, u4} S₂ σ _inst_3)) (MvPolynomial.algebra.{u1, u2, u4} R S₁ σ _inst_1 _inst_2 _inst_4) (MvPolynomial.algebra.{u1, u3, u4} R S₂ σ _inst_1 _inst_3 _inst_5)) (RingHom.{max u4 u2, max u4 u3} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.{u4, u3} σ S₂ _inst_3) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u3, u4} S₂ σ _inst_3)))) (HasLiftT.mk.{max (succ (max u4 u2)) (succ (max u4 u3)), max (succ (max u4 u2)) (succ (max u4 u3))} (AlgHom.{u1, max u4 u2, max u4 u3} R (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.{u4, u3} σ S₂ _inst_3) _inst_1 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ σ _inst_2)) (CommSemiring.toSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u3, u4} S₂ σ _inst_3)) (MvPolynomial.algebra.{u1, u2, u4} R S₁ σ _inst_1 _inst_2 _inst_4) (MvPolynomial.algebra.{u1, u3, u4} R S₂ σ _inst_1 _inst_3 _inst_5)) (RingHom.{max u4 u2, max u4 u3} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.{u4, u3} σ S₂ _inst_3) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u3, u4} S₂ σ _inst_3)))) (CoeTCₓ.coe.{max (succ (max u4 u2)) (succ (max u4 u3)), max (succ (max u4 u2)) (succ (max u4 u3))} (AlgHom.{u1, max u4 u2, max u4 u3} R (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.{u4, u3} σ S₂ _inst_3) _inst_1 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ σ _inst_2)) (CommSemiring.toSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u3, u4} S₂ σ _inst_3)) (MvPolynomial.algebra.{u1, u2, u4} R S₁ σ _inst_1 _inst_2 _inst_4) (MvPolynomial.algebra.{u1, u3, u4} R S₂ σ _inst_1 _inst_3 _inst_5)) (RingHom.{max u4 u2, max u4 u3} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.{u4, u3} σ S₂ _inst_3) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u3, u4} S₂ σ _inst_3)))) (RingHom.hasCoeT.{max (max u4 u2) u4 u3, max u4 u2, max u4 u3} (AlgHom.{u1, max u4 u2, max u4 u3} R (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.{u4, u3} σ S₂ _inst_3) _inst_1 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ σ _inst_2)) (CommSemiring.toSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u3, u4} S₂ σ _inst_3)) (MvPolynomial.algebra.{u1, u2, u4} R S₁ σ _inst_1 _inst_2 _inst_4) (MvPolynomial.algebra.{u1, u3, u4} R S₂ σ _inst_1 _inst_3 _inst_5)) (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.{u4, u3} σ S₂ _inst_3) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u3, u4} S₂ σ _inst_3))) (AlgHomClass.toRingHomClass.{max (max u4 u2) u4 u3, u1, max u4 u2, max u4 u3} (AlgHom.{u1, max u4 u2, max u4 u3} R (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.{u4, u3} σ S₂ _inst_3) _inst_1 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ σ _inst_2)) (CommSemiring.toSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u3, u4} S₂ σ _inst_3)) (MvPolynomial.algebra.{u1, u2, u4} R S₁ σ _inst_1 _inst_2 _inst_4) (MvPolynomial.algebra.{u1, u3, u4} R S₂ σ _inst_1 _inst_3 _inst_5)) R (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.{u4, u3} σ S₂ _inst_3) _inst_1 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ σ _inst_2)) (CommSemiring.toSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u3, u4} S₂ σ _inst_3)) (MvPolynomial.algebra.{u1, u2, u4} R S₁ σ _inst_1 _inst_2 _inst_4) (MvPolynomial.algebra.{u1, u3, u4} R S₂ σ _inst_1 _inst_3 _inst_5) (AlgHom.algHomClass.{u1, max u4 u2, max u4 u3} R (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.{u4, u3} σ S₂ _inst_3) _inst_1 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ σ _inst_2)) (CommSemiring.toSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u3, u4} S₂ σ _inst_3)) (MvPolynomial.algebra.{u1, u2, u4} R S₁ σ _inst_1 _inst_2 _inst_4) (MvPolynomial.algebra.{u1, u3, u4} R S₂ σ _inst_1 _inst_3 _inst_5)))))) (MvPolynomial.mapAlgHom.{u1, u2, u3, u4} R S₁ S₂ σ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 f)) (MvPolynomial.map.{u2, u3, u4} S₁ S₂ σ _inst_2 _inst_3 ((fun (a : Sort.{max (succ u2) (succ u3)}) (b : Sort.{max (succ u2) (succ u3)}) [self : HasLiftT.{max (succ u2) (succ u3), max (succ u2) (succ u3)} a b] => self.0) (AlgHom.{u1, u2, u3} R S₁ S₂ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) (CommSemiring.toSemiring.{u3} S₂ _inst_3) _inst_4 _inst_5) (RingHom.{u2, u3} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))) (HasLiftT.mk.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (AlgHom.{u1, u2, u3} R S₁ S₂ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) (CommSemiring.toSemiring.{u3} S₂ _inst_3) _inst_4 _inst_5) (RingHom.{u2, u3} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))) (CoeTCₓ.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (AlgHom.{u1, u2, u3} R S₁ S₂ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) (CommSemiring.toSemiring.{u3} S₂ _inst_3) _inst_4 _inst_5) (RingHom.{u2, u3} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))) (RingHom.hasCoeT.{max u2 u3, u2, u3} (AlgHom.{u1, u2, u3} R S₁ S₂ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) (CommSemiring.toSemiring.{u3} S₂ _inst_3) _inst_4 _inst_5) S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3)) (AlgHomClass.toRingHomClass.{max u2 u3, u1, u2, u3} (AlgHom.{u1, u2, u3} R S₁ S₂ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) (CommSemiring.toSemiring.{u3} S₂ _inst_3) _inst_4 _inst_5) R S₁ S₂ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) (CommSemiring.toSemiring.{u3} S₂ _inst_3) _inst_4 _inst_5 (AlgHom.algHomClass.{u1, u2, u3} R S₁ S₂ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) (CommSemiring.toSemiring.{u3} S₂ _inst_3) _inst_4 _inst_5))))) f))
-but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {S₂ : Type.{u4}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : CommSemiring.{u4} S₂] [_inst_4 : Algebra.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2)] [_inst_5 : Algebra.{u2, u4} R S₂ _inst_1 (CommSemiring.toSemiring.{u4} S₂ _inst_3)] (f : AlgHom.{u2, u3, u4} R S₁ S₂ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) (CommSemiring.toSemiring.{u4} S₂ _inst_3) _inst_4 _inst_5), Eq.{max (max (succ u3) (succ u4)) (succ u1)} (RingHom.{max u3 u1, max u4 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u4} σ S₂ _inst_3) (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))) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3)))) (RingHomClass.toRingHom.{max (max u3 u4) u1, max u3 u1, max u4 u1} (AlgHom.{u2, max u3 u1, max u4 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u4} σ S₂ _inst_3) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u3, u1} S₁ σ _inst_2)) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3)) (MvPolynomial.algebra.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_4) (MvPolynomial.algebra.{u2, u4, u1} R S₂ σ _inst_1 _inst_3 _inst_5)) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u4} σ S₂ _inst_3) (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))) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3))) (AlgHomClass.toRingHomClass.{max (max u3 u4) u1, u2, max u3 u1, max u4 u1} (AlgHom.{u2, max u3 u1, max u4 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u4} σ S₂ _inst_3) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u3, u1} S₁ σ _inst_2)) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3)) (MvPolynomial.algebra.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_4) (MvPolynomial.algebra.{u2, u4, u1} R S₂ σ _inst_1 _inst_3 _inst_5)) R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u4} σ S₂ _inst_3) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u3, u1} S₁ σ _inst_2)) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3)) (MvPolynomial.algebra.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_4) (MvPolynomial.algebra.{u2, u4, u1} R S₂ σ _inst_1 _inst_3 _inst_5) (AlgHom.algHomClass.{u2, max u3 u1, max u4 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u4} σ S₂ _inst_3) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u3, u1} S₁ σ _inst_2)) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3)) (MvPolynomial.algebra.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_4) (MvPolynomial.algebra.{u2, u4, u1} R S₂ σ _inst_1 _inst_3 _inst_5))) (MvPolynomial.mapAlgHom.{u2, u3, u4, u1} R S₁ S₂ σ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 f)) (MvPolynomial.map.{u3, u4, u1} S₁ S₂ σ _inst_2 _inst_3 (RingHomClass.toRingHom.{max u3 u4, u3, u4} (AlgHom.{u2, u3, u4} R S₁ S₂ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) (CommSemiring.toSemiring.{u4} S₂ _inst_3) _inst_4 _inst_5) S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)) (AlgHomClass.toRingHomClass.{max u3 u4, u2, u3, u4} (AlgHom.{u2, u3, u4} R S₁ S₂ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) (CommSemiring.toSemiring.{u4} S₂ _inst_3) _inst_4 _inst_5) R S₁ S₂ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) (CommSemiring.toSemiring.{u4} S₂ _inst_3) _inst_4 _inst_5 (AlgHom.algHomClass.{u2, u3, u4} R S₁ S₂ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) (CommSemiring.toSemiring.{u4} S₂ _inst_3) _inst_4 _inst_5)) f))
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.map_alg_hom_coe_ring_hom MvPolynomial.mapAlgHom_coe_ringHomₓ'. -/
@[simp]
theorem mapAlgHom_coe_ringHom [CommSemiring S₂] [Algebra R S₁] [Algebra R S₂] (f : S₁ →ₐ[R] S₂) :
@@ -2500,10 +2287,7 @@ variable [Algebra R S₁] [CommSemiring S₂]
variable (f : σ → S₁)
/- warning: mv_polynomial.algebra_map_apply -> MvPolynomial.algebraMap_apply is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : Algebra.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2)] (r : R), Eq.{max (succ u3) (succ u2)} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (coeFn.{max (succ u1) (succ (max u3 u2)), max (succ u1) (succ (max u3 u2))} (RingHom.{u1, max u3 u2} R (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (fun (_x : RingHom.{u1, max u3 u2} R (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) => R -> (MvPolynomial.{u3, u2} σ S₁ _inst_2)) (RingHom.hasCoeToFun.{u1, max u3 u2} R (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (algebraMap.{u1, max u3 u2} R (MvPolynomial.{u3, u2} σ S₁ _inst_2) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)) (MvPolynomial.algebra.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 _inst_3)) r) (coeFn.{max (succ u2) (succ (max u3 u2)), max (succ u2) (succ (max u3 u2))} (RingHom.{u2, max u3 u2} S₁ (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (fun (_x : RingHom.{u2, max u3 u2} S₁ (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) => S₁ -> (MvPolynomial.{u3, u2} σ S₁ _inst_2)) (RingHom.hasCoeToFun.{u2, max u3 u2} S₁ (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (MvPolynomial.C.{u2, u3} S₁ σ _inst_2) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (algebraMap.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) _inst_3) r))
-but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : Algebra.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2)] (r : R), Eq.{max (succ u3) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u3} σ S₁ _inst_2) r) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), succ u2, max (succ u3) (succ u1)} (RingHom.{u2, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} 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)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, u2, max u3 u1} (RingHom.{u2, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} 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)))) R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} 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 u2 u3) u1, u2, max u3 u1} (RingHom.{u2, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} 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)))) R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} 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 u2 u3) u1, u2, max u3 u1} (RingHom.{u2, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} 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)))) R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} 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.{u2, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} 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))))))) (algebraMap.{u2, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u3, u1} S₁ σ _inst_2)) (MvPolynomial.algebra.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_3)) r) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (RingHom.{u3, max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) σ _inst_2)))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) => MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2) _x) (MulHomClass.toFunLike.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) σ _inst_2)))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2) (NonUnitalNonAssocSemiring.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{max u1 u3} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) σ _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) σ _inst_2)))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) σ _inst_2)))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) σ _inst_2)))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) σ _inst_2))) (RingHom.instRingHomClassRingHom.{u3, max u1 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) σ _inst_2))))))) (MvPolynomial.C.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) σ _inst_2) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (algebraMap.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3) r))
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.algebra_map_apply MvPolynomial.algebraMap_applyₓ'. -/
theorem algebraMap_apply (r : R) : algebraMap R (MvPolynomial σ S₁) r = C (algebraMap R S₁ r) :=
rfl
@@ -2518,30 +2302,21 @@ def aeval : MvPolynomial σ R →ₐ[R] S₁ :=
-/
/- warning: mv_polynomial.aeval_def -> MvPolynomial.aeval_def is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : Algebra.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2)] (f : σ -> S₁) (p : MvPolynomial.{u3, u1} σ R _inst_1), Eq.{succ u2} S₁ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (fun (_x : AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) ([anonymous].{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (MvPolynomial.aeval.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 _inst_3 f) p) (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 (algebraMap.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) _inst_3) f p)
-but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : Algebra.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2)] (f : σ -> S₁) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) p) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u1) (succ u2), succ u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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, 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.{u2, 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.{u2, u3} R S₁ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{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.{u2, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, 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.{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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u1 u2, u3, max (max u3 u1) u2} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3 (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (AlgHom.algHomClass.{u2, max u1 u2, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3))))) (MvPolynomial.aeval.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_3 f) p) (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 (algebraMap.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3) f p)
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_def MvPolynomial.aeval_defₓ'. -/
theorem aeval_def (p : MvPolynomial σ R) : aeval f p = eval₂ (algebraMap R S₁) f p :=
rfl
#align mv_polynomial.aeval_def MvPolynomial.aeval_def
/- warning: mv_polynomial.aeval_eq_eval₂_hom -> MvPolynomial.aeval_eq_eval₂Hom is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : Algebra.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2)] (f : σ -> S₁) (p : MvPolynomial.{u3, u1} σ R _inst_1), Eq.{succ u2} S₁ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (fun (_x : AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) ([anonymous].{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (MvPolynomial.aeval.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 _inst_3 f) p) (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (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))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (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))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) (RingHom.hasCoeToFun.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (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))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (MvPolynomial.eval₂Hom.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 (algebraMap.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) _inst_3) f) p)
-but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : Algebra.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2)] (f : σ -> S₁) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) p) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u1) (succ u2), succ u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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, 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.{u2, 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.{u2, u3} R S₁ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{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.{u2, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, 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.{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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u1 u2, u3, max (max u3 u1) u2} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3 (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (AlgHom.algHomClass.{u2, max u1 u2, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3))))) (MvPolynomial.aeval.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_3 f) p) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} 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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 (algebraMap.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3) f) p)
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_eq_eval₂_hom MvPolynomial.aeval_eq_eval₂Homₓ'. -/
theorem aeval_eq_eval₂Hom (p : MvPolynomial σ R) : aeval f p = eval₂Hom (algebraMap R S₁) f p :=
rfl
#align mv_polynomial.aeval_eq_eval₂_hom MvPolynomial.aeval_eq_eval₂Hom
/- warning: mv_polynomial.aeval_X -> MvPolynomial.aeval_X is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : Algebra.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2)] (f : σ -> S₁) (s : σ), Eq.{succ u2} S₁ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (fun (_x : AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) ([anonymous].{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (MvPolynomial.aeval.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 _inst_3 f) (MvPolynomial.X.{u1, u3} R σ _inst_1 s)) (f s)
-but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : Algebra.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2)] (f : σ -> S₁) (s : σ), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) (MvPolynomial.X.{u2, u1} R σ _inst_1 s)) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u1) (succ u2), succ u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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, 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.{u2, 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.{u2, u3} R S₁ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{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.{u2, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, 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.{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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u1 u2, u3, max (max u3 u1) u2} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3 (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (AlgHom.algHomClass.{u2, max u1 u2, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3))))) (MvPolynomial.aeval.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_3 f) (MvPolynomial.X.{u2, u1} R σ _inst_1 s)) (f s)
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_X MvPolynomial.aeval_Xₓ'. -/
@[simp]
theorem aeval_X (s : σ) : aeval f (X s : MvPolynomial _ R) = f s :=
@@ -2549,10 +2324,7 @@ theorem aeval_X (s : σ) : aeval f (X s : MvPolynomial _ R) = f s :=
#align mv_polynomial.aeval_X MvPolynomial.aeval_X
/- warning: mv_polynomial.aeval_C -> MvPolynomial.aeval_C is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : Algebra.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2)] (f : σ -> S₁) (r : R), Eq.{succ u2} S₁ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (fun (_x : AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) ([anonymous].{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (MvPolynomial.aeval.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 _inst_3 f) (coeFn.{max (succ u1) (succ (max u3 u1)), max (succ u1) (succ (max u3 u1))} (RingHom.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u3, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u3} R σ _inst_1) r)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (algebraMap.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) _inst_3) r)
-but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : Algebra.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2)] (f : σ -> S₁) (r : R), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) (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.2397 : 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 u3) (succ u1)) (succ u2), max (succ u1) (succ u2), succ u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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, 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.{u2, 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.{u2, u3} R S₁ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{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.{u2, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, 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.{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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u1 u2, u3, max (max u3 u1) u2} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3 (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (AlgHom.algHomClass.{u2, max u1 u2, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3))))) (MvPolynomial.aeval.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_3 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.2397 : 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 u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (algebraMap.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3) r)
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_C MvPolynomial.aeval_Cₓ'. -/
@[simp]
theorem aeval_C (r : R) : aeval f (C r) = algebraMap R S₁ r :=
@@ -2560,10 +2332,7 @@ theorem aeval_C (r : R) : aeval f (C r) = algebraMap R S₁ r :=
#align mv_polynomial.aeval_C MvPolynomial.aeval_C
/- warning: mv_polynomial.aeval_unique -> MvPolynomial.aeval_unique is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : Algebra.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2)] (φ : AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3), Eq.{max (succ (max u3 u1)) (succ u2)} (AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) φ (MvPolynomial.aeval.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 _inst_3 (Function.comp.{succ u3, max (succ u3) (succ u1), succ u2} σ (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (fun (_x : AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) ([anonymous].{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) φ) (MvPolynomial.X.{u1, u3} R σ _inst_1)))
-but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : Algebra.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2)] (φ : AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3), Eq.{max (max (succ u2) (succ u3)) (succ u1)} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) φ (MvPolynomial.aeval.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_3 (Function.comp.{succ u1, max (succ u2) (succ u1), succ u3} σ (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) _x) (SMulHomClass.toFunLike.{max (max u2 u3) u1, u2, max u2 u1, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (SMulZeroClass.toSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (AddMonoid.toZero.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) (Module.toDistribMulAction.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Algebra.toModule.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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, 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.{u2, 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.{u2, u3} R S₁ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{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.{u2, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u3) u1, u2, max u2 u1, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) (AddCommMonoid.toAddMonoid.{u3} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))))) (Module.toDistribMulAction.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Algebra.toModule.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u2 u3) u1, u2, max u2 u1, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (Module.toDistribMulAction.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Algebra.toModule.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u2 u1, u3, max (max u2 u3) u1} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3 (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (AlgHom.algHomClass.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3))))) φ) (MvPolynomial.X.{u2, u1} R σ _inst_1)))
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_unique MvPolynomial.aeval_uniqueₓ'. -/
theorem aeval_unique (φ : MvPolynomial σ R →ₐ[R] S₁) : φ = aeval (φ ∘ X) :=
by
@@ -2582,20 +2351,14 @@ theorem aeval_X_left : aeval X = AlgHom.id R (MvPolynomial σ R) :=
#align mv_polynomial.aeval_X_left MvPolynomial.aeval_X_left
/- warning: mv_polynomial.aeval_X_left_apply -> MvPolynomial.aeval_X_left_apply is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (p : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{succ (max u2 u1), succ (max u2 u1)} (AlgHom.{u1, max u2 u1, max u2 u1} 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))) (fun (_x : AlgHom.{u1, max u2 u1, max u2 u1} 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) -> (MvPolynomial.{u2, u1} σ R _inst_1)) ([anonymous].{u1, max u2 u1, max u2 u1} 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.aeval.{u1, max u2 u1, u2} R (MvPolynomial.{u2, u1} σ R _inst_1) σ _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.X.{u1, u2} R σ _inst_1)) p) p
-but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u2} σ R _inst_1) p) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u1) (succ u2)} (AlgHom.{u2, max u2 u1, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (SMulHomClass.toFunLike.{max u2 u1, u2, max u2 u1, max u1 u2} (AlgHom.{u2, max u2 u1, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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))) R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (SMulZeroClass.toSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (AddMonoid.toZero.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) (Module.toDistribMulAction.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Algebra.toModule.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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 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 u2 u1, u2, max u2 u1, max u1 u2} (AlgHom.{u2, max u2 u1, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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))) R (MvPolynomial.{u1, 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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) (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 u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Algebra.toModule.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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 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 u2 u1, u2, max u2 u1, max u1 u2} (AlgHom.{u2, max u2 u1, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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))) R (MvPolynomial.{u1, 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 u2 u1} (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.{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 u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Algebra.toModule.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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 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 u2 u1, max u1 u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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)) (AlgHom.{u2, max u2 u1, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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))) (AlgHom.algHomClass.{u2, max u2 u1, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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.aeval.{u2, max u1 u2, u1} R (MvPolynomial.{u1, u2} σ R _inst_1) σ _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.X.{u2, u1} R σ _inst_1)) p) p
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_X_left_apply MvPolynomial.aeval_X_left_applyₓ'. -/
theorem aeval_X_left_apply (p : MvPolynomial σ R) : aeval X p = p :=
AlgHom.congr_fun aeval_X_left p
#align mv_polynomial.aeval_X_left_apply MvPolynomial.aeval_X_left_apply
/- warning: mv_polynomial.comp_aeval -> MvPolynomial.comp_aeval is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : Algebra.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2)] (f : σ -> S₁) {B : Type.{u4}} [_inst_5 : CommSemiring.{u4} B] [_inst_6 : Algebra.{u1, u4} R B _inst_1 (CommSemiring.toSemiring.{u4} B _inst_5)] (φ : AlgHom.{u1, u2, u4} R S₁ B _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) (CommSemiring.toSemiring.{u4} B _inst_5) _inst_3 _inst_6), Eq.{max (succ (max u3 u1)) (succ u4)} (AlgHom.{u1, max u3 u1, u4} R (MvPolynomial.{u3, u1} σ R _inst_1) B _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u4} B _inst_5) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_6) (AlgHom.comp.{u1, max u3 u1, u2, u4} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ B _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (CommSemiring.toSemiring.{u4} B _inst_5) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3 _inst_6 φ (MvPolynomial.aeval.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 _inst_3 f)) (MvPolynomial.aeval.{u1, u4, u3} R B σ _inst_1 _inst_5 _inst_6 (fun (i : σ) => coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (AlgHom.{u1, u2, u4} R S₁ B _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) (CommSemiring.toSemiring.{u4} B _inst_5) _inst_3 _inst_6) (fun (_x : AlgHom.{u1, u2, u4} R S₁ B _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) (CommSemiring.toSemiring.{u4} B _inst_5) _inst_3 _inst_6) => S₁ -> B) ([anonymous].{u1, u2, u4} R S₁ B _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) (CommSemiring.toSemiring.{u4} B _inst_5) _inst_3 _inst_6) φ (f i)))
-but is expected to have type
- forall {R : Type.{u3}} {S₁ : Type.{u4}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] [_inst_2 : CommSemiring.{u4} S₁] [_inst_3 : Algebra.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2)] (f : σ -> S₁) {B : Type.{u2}} [_inst_5 : CommSemiring.{u2} B] [_inst_6 : Algebra.{u3, u2} R B _inst_1 (CommSemiring.toSemiring.{u2} B _inst_5)] (φ : AlgHom.{u3, u4, u2} R S₁ B _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) (CommSemiring.toSemiring.{u2} B _inst_5) _inst_3 _inst_6), Eq.{max (max (succ u3) (succ u1)) (succ u2)} (AlgHom.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) B _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u2} B _inst_5) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_6) (AlgHom.comp.{u3, max u3 u1, u4, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ B _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u4} S₁ _inst_2) (CommSemiring.toSemiring.{u2} B _inst_5) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_3 _inst_6 φ (MvPolynomial.aeval.{u3, u4, u1} R S₁ σ _inst_1 _inst_2 _inst_3 f)) (MvPolynomial.aeval.{u3, u2, u1} R B σ _inst_1 _inst_5 _inst_6 (fun (i : σ) => FunLike.coe.{max (succ u4) (succ u2), succ u4, succ u2} (AlgHom.{u3, u4, u2} R S₁ B _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) (CommSemiring.toSemiring.{u2} B _inst_5) _inst_3 _inst_6) S₁ (fun (_x : S₁) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S₁) => B) _x) (SMulHomClass.toFunLike.{max u4 u2, u3, u4, u2} (AlgHom.{u3, u4, u2} R S₁ B _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) (CommSemiring.toSemiring.{u2} B _inst_5) _inst_3 _inst_6) R S₁ B (SMulZeroClass.toSMul.{u3, u4} R S₁ (AddMonoid.toZero.{u4} S₁ (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))))) (DistribSMul.toSMulZeroClass.{u3, u4} R S₁ (AddMonoid.toAddZeroClass.{u4} S₁ (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))))) (DistribMulAction.toDistribSMul.{u3, u4} R S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3))))) (SMulZeroClass.toSMul.{u3, u2} R B (AddMonoid.toZero.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)))))) (DistribSMul.toSMulZeroClass.{u3, u2} R B (AddMonoid.toAddZeroClass.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)))))) (DistribMulAction.toDistribSMul.{u3, u2} R B (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))))) (Module.toDistribMulAction.{u3, u2} R B (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)))) (Algebra.toModule.{u3, u2} R B _inst_1 (CommSemiring.toSemiring.{u2} B _inst_5) _inst_6))))) (DistribMulActionHomClass.toSMulHomClass.{max u4 u2, u3, u4, u2} (AlgHom.{u3, u4, u2} R S₁ B _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) (CommSemiring.toSemiring.{u2} B _inst_5) _inst_3 _inst_6) R S₁ B (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))))) (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3)) (Module.toDistribMulAction.{u3, u2} R B (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)))) (Algebra.toModule.{u3, u2} R B _inst_1 (CommSemiring.toSemiring.{u2} B _inst_5) _inst_6)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u4 u2, u3, u4, u2} (AlgHom.{u3, u4, u2} R S₁ B _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) (CommSemiring.toSemiring.{u2} B _inst_5) _inst_3 _inst_6) R S₁ B (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3)) (Module.toDistribMulAction.{u3, u2} R B (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)))) (Algebra.toModule.{u3, u2} R B _inst_1 (CommSemiring.toSemiring.{u2} B _inst_5) _inst_6)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u3, u4, u2, max u4 u2} R S₁ B _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) (CommSemiring.toSemiring.{u2} B _inst_5) _inst_3 _inst_6 (AlgHom.{u3, u4, u2} R S₁ B _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) (CommSemiring.toSemiring.{u2} B _inst_5) _inst_3 _inst_6) (AlgHom.algHomClass.{u3, u4, u2} R S₁ B _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) (CommSemiring.toSemiring.{u2} B _inst_5) _inst_3 _inst_6))))) φ (f i)))
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.comp_aeval MvPolynomial.comp_aevalₓ'. -/
theorem comp_aeval {B : Type _} [CommSemiring B] [Algebra R B] (φ : S₁ →ₐ[R] B) :
φ.comp (aeval f) = aeval fun i => φ (f i) :=
@@ -2605,10 +2368,7 @@ theorem comp_aeval {B : Type _} [CommSemiring B] [Algebra R B] (φ : S₁ →ₐ
#align mv_polynomial.comp_aeval MvPolynomial.comp_aeval
/- warning: mv_polynomial.map_aeval -> MvPolynomial.map_aeval is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : Algebra.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2)] {B : Type.{u4}} [_inst_5 : CommSemiring.{u4} B] (g : σ -> S₁) (φ : RingHom.{u2, u4} S₁ B (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} B (CommSemiring.toSemiring.{u4} B _inst_5))) (p : MvPolynomial.{u3, u1} σ R _inst_1), Eq.{succ u4} B (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (RingHom.{u2, u4} S₁ B (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} B (CommSemiring.toSemiring.{u4} B _inst_5))) (fun (_x : RingHom.{u2, u4} S₁ B (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} B (CommSemiring.toSemiring.{u4} B _inst_5))) => S₁ -> B) (RingHom.hasCoeToFun.{u2, u4} S₁ B (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} B (CommSemiring.toSemiring.{u4} B _inst_5))) φ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (fun (_x : AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) ([anonymous].{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (MvPolynomial.aeval.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 _inst_3 g) p)) (coeFn.{max (succ (max u3 u1)) (succ u4), max (succ (max u3 u1)) (succ u4)} (RingHom.{max u3 u1, u4} (MvPolynomial.{u3, u1} σ R _inst_1) B (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))) (Semiring.toNonAssocSemiring.{u4} B (CommSemiring.toSemiring.{u4} B _inst_5))) (fun (_x : RingHom.{max u3 u1, u4} (MvPolynomial.{u3, u1} σ R _inst_1) B (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))) (Semiring.toNonAssocSemiring.{u4} B (CommSemiring.toSemiring.{u4} B _inst_5))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> B) (RingHom.hasCoeToFun.{max u3 u1, u4} (MvPolynomial.{u3, u1} σ R _inst_1) B (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))) (Semiring.toNonAssocSemiring.{u4} B (CommSemiring.toSemiring.{u4} B _inst_5))) (MvPolynomial.eval₂Hom.{u1, u4, u3} R B σ _inst_1 _inst_5 (RingHom.comp.{u1, u2, u4} R S₁ B (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} B (CommSemiring.toSemiring.{u4} B _inst_5)) φ (algebraMap.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) _inst_3)) (fun (i : σ) => coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (RingHom.{u2, u4} S₁ B (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} B (CommSemiring.toSemiring.{u4} B _inst_5))) (fun (_x : RingHom.{u2, u4} S₁ B (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} B (CommSemiring.toSemiring.{u4} B _inst_5))) => S₁ -> B) (RingHom.hasCoeToFun.{u2, u4} S₁ B (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} B (CommSemiring.toSemiring.{u4} B _inst_5))) φ (g i))) p)
-but is expected to have type
- forall {R : Type.{u3}} {S₁ : Type.{u4}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] [_inst_2 : CommSemiring.{u4} S₁] [_inst_3 : Algebra.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2)] {B : Type.{u2}} [_inst_5 : CommSemiring.{u2} B] (g : σ -> S₁) (φ : RingHom.{u4, u2} S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) (p : MvPolynomial.{u1, u3} σ R _inst_1), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S₁) => B) (FunLike.coe.{max (max (succ u4) (succ u1)) (succ u3), max (succ u1) (succ u3), succ u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) (fun (a : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u3} σ R _inst_1) => S₁) a) (SMulHomClass.toFunLike.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (SMulZeroClass.toSMul.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toZero.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))))))) (SMulZeroClass.toSMul.{u3, u4} R S₁ (AddMonoid.toZero.{u4} S₁ (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))))) (DistribSMul.toSMulZeroClass.{u3, u4} R S₁ (AddMonoid.toAddZeroClass.{u4} S₁ (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))))) (DistribMulAction.toDistribSMul.{u3, u4} R S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u3, max u1 u3, u4, max (max u4 u1) u3} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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 (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) (AlgHom.algHomClass.{u3, max u1 u3, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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 g) p)) (FunLike.coe.{max (succ u4) (succ u2), succ u4, succ u2} (RingHom.{u4, u2} S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) S₁ (fun (_x : S₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S₁) => B) _x) (MulHomClass.toFunLike.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) S₁ B (NonUnitalNonAssocSemiring.toMul.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) S₁ B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) (RingHomClass.toNonUnitalRingHomClass.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)) (RingHom.instRingHomClassRingHom.{u4, u2} S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)))))) φ (FunLike.coe.{max (max (succ u4) (succ u1)) (succ u3), max (succ u1) (succ u3), succ u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u3} σ R _inst_1) => S₁) _x) (SMulHomClass.toFunLike.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (SMulZeroClass.toSMul.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toZero.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))))))) (SMulZeroClass.toSMul.{u3, u4} R S₁ (AddMonoid.toZero.{u4} S₁ (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))))) (DistribSMul.toSMulZeroClass.{u3, u4} R S₁ (AddMonoid.toAddZeroClass.{u4} S₁ (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))))) (DistribMulAction.toDistribSMul.{u3, u4} R S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u3, max u1 u3, u4, max (max u4 u1) u3} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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 (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) (AlgHom.algHomClass.{u3, max u1 u3, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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 g) p)) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u1), succ u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) B (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) (MvPolynomial.{u1, u3} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ R _inst_1) => B) _x) (MulHomClass.toFunLike.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) B (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) (MvPolynomial.{u1, u3} σ R _inst_1) B (NonUnitalNonAssocSemiring.toMul.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) B (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) (MvPolynomial.{u1, u3} σ R _inst_1) B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) (RingHomClass.toNonUnitalRingHomClass.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) B (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) (MvPolynomial.{u1, u3} σ R _inst_1) B (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)) (RingHom.instRingHomClassRingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) B (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)))))) (MvPolynomial.eval₂Hom.{u3, u2, u1} R B σ _inst_1 _inst_5 (RingHom.comp.{u3, u4, u2} R S₁ B (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)) φ (algebraMap.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3)) (fun (i : σ) => FunLike.coe.{max (succ u4) (succ u2), succ u4, succ u2} (RingHom.{u4, u2} S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) S₁ (fun (_x : S₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S₁) => B) _x) (MulHomClass.toFunLike.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) S₁ B (NonUnitalNonAssocSemiring.toMul.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) S₁ B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) (RingHomClass.toNonUnitalRingHomClass.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)) (RingHom.instRingHomClassRingHom.{u4, u2} S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)))))) φ (g i))) p)
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.map_aeval MvPolynomial.map_aevalₓ'. -/
@[simp]
theorem map_aeval {B : Type _} [CommSemiring B] (g : σ → S₁) (φ : S₁ →+* B) (p : MvPolynomial σ R) :
@@ -2641,10 +2401,7 @@ theorem eval₂Hom_zero' (f : R →+* S₂) : eval₂Hom f (fun _ => 0 : σ →
#align mv_polynomial.eval₂_hom_zero' MvPolynomial.eval₂Hom_zero'
/- warning: mv_polynomial.eval₂_hom_zero_apply -> MvPolynomial.eval₂Hom_zero_apply is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S₂ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_4 : CommSemiring.{u2} S₂] (f : RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (p : MvPolynomial.{u3, u1} σ R _inst_1), Eq.{succ u2} S₂ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (fun (_x : RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₂) (RingHom.hasCoeToFun.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (MvPolynomial.eval₂Hom.{u1, u2, u3} R S₂ σ _inst_1 _inst_4 f (OfNat.ofNat.{max u3 u2} (σ -> S₂) 0 (OfNat.mk.{max u3 u2} (σ -> S₂) 0 (Zero.zero.{max u3 u2} (σ -> S₂) (Pi.instZero.{u3, u2} σ (fun (ᾰ : σ) => S₂) (fun (i : σ) => MulZeroClass.toHasZero.{u2} S₂ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4)))))))))) p) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (fun (_x : RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) => R -> S₂) (RingHom.hasCoeToFun.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) f (coeFn.{max (succ (max u3 u1)) (succ u1), max (succ (max u3 u1)) (succ u1)} (RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.constantCoeff.{u1, u3} R σ _inst_1) p))
-but is expected to have type
- forall {R : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_4 : CommSemiring.{u3} S₂] (f : RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) p) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₂ σ _inst_1 _inst_4 f (OfNat.ofNat.{max u3 u1} (σ -> S₂) 0 (Zero.toOfNat0.{max u3 u1} (σ -> S₂) (Pi.instZero.{u1, u3} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.20694 : σ) => S₂) (fun (i : σ) => CommMonoidWithZero.toZero.{u3} S₂ (CommSemiring.toCommMonoidWithZero.{u3} S₂ _inst_4)))))) p) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₂) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))))) f (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) p))
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_hom_zero_apply MvPolynomial.eval₂Hom_zero_applyₓ'. -/
theorem eval₂Hom_zero_apply (f : R →+* S₂) (p : MvPolynomial σ R) :
eval₂Hom f (0 : σ → S₂) p = f (constantCoeff p) :=
@@ -2652,10 +2409,7 @@ theorem eval₂Hom_zero_apply (f : R →+* S₂) (p : MvPolynomial σ R) :
#align mv_polynomial.eval₂_hom_zero_apply MvPolynomial.eval₂Hom_zero_apply
/- warning: mv_polynomial.eval₂_hom_zero'_apply -> MvPolynomial.eval₂Hom_zero'_apply is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S₂ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_4 : CommSemiring.{u2} S₂] (f : RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (p : MvPolynomial.{u3, u1} σ R _inst_1), Eq.{succ u2} S₂ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (fun (_x : RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₂) (RingHom.hasCoeToFun.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (MvPolynomial.eval₂Hom.{u1, u2, u3} R S₂ σ _inst_1 _inst_4 f (fun (_x : σ) => OfNat.ofNat.{u2} S₂ 0 (OfNat.mk.{u2} S₂ 0 (Zero.zero.{u2} S₂ (MulZeroClass.toHasZero.{u2} S₂ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))))))))) p) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (fun (_x : RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) => R -> S₂) (RingHom.hasCoeToFun.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) f (coeFn.{max (succ (max u3 u1)) (succ u1), max (succ (max u3 u1)) (succ u1)} (RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.constantCoeff.{u1, u3} R σ _inst_1) p))
-but is expected to have type
- forall {R : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_4 : CommSemiring.{u3} S₂] (f : RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) p) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₂ σ _inst_1 _inst_4 f (fun (_x : σ) => OfNat.ofNat.{u3} S₂ 0 (Zero.toOfNat0.{u3} S₂ (CommMonoidWithZero.toZero.{u3} S₂ (CommSemiring.toCommMonoidWithZero.{u3} S₂ _inst_4))))) p) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₂) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))))) f (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) p))
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_hom_zero'_apply MvPolynomial.eval₂Hom_zero'_applyₓ'. -/
theorem eval₂Hom_zero'_apply (f : R →+* S₂) (p : MvPolynomial σ R) :
eval₂Hom f (fun _ => 0 : σ → S₂) p = f (constantCoeff p) :=
@@ -2687,10 +2441,7 @@ theorem eval₂_zero'_apply (f : R →+* S₂) (p : MvPolynomial σ R) :
#align mv_polynomial.eval₂_zero'_apply MvPolynomial.eval₂_zero'_apply
/- warning: mv_polynomial.aeval_zero -> MvPolynomial.aeval_zero is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : Algebra.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2)] (p : MvPolynomial.{u3, u1} σ R _inst_1), Eq.{succ u2} S₁ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (fun (_x : AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) ([anonymous].{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (MvPolynomial.aeval.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 _inst_3 (OfNat.ofNat.{max u3 u2} (σ -> S₁) 0 (OfNat.mk.{max u3 u2} (σ -> S₁) 0 (Zero.zero.{max u3 u2} (σ -> S₁) (Pi.instZero.{u3, u2} σ (fun (ᾰ : σ) => S₁) (fun (i : σ) => MulZeroClass.toHasZero.{u2} S₁ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))))))))) p) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (algebraMap.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) _inst_3) (coeFn.{max (succ (max u3 u1)) (succ u1), max (succ (max u3 u1)) (succ u1)} (RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.constantCoeff.{u1, u3} R σ _inst_1) p))
-but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : Algebra.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2)] (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) p) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u1) (succ u2), succ u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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, 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.{u2, 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.{u2, u3} R S₁ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{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.{u2, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, 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.{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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u1 u2, u3, max (max u3 u1) u2} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3 (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (AlgHom.algHomClass.{u2, max u1 u2, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3))))) (MvPolynomial.aeval.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_3 (OfNat.ofNat.{max u3 u1} (σ -> S₁) 0 (Zero.toOfNat0.{max u3 u1} (σ -> S₁) (Pi.instZero.{u1, u3} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.21001 : σ) => S₁) (fun (i : σ) => CommMonoidWithZero.toZero.{u3} S₁ (CommSemiring.toCommMonoidWithZero.{u3} S₁ _inst_2)))))) p) (FunLike.coe.{max (succ u3) (succ u2), succ u2, succ u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) => S₁) _x) (MulHomClass.toFunLike.{max u3 u2, u2, u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (NonUnitalNonAssocSemiring.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u2, u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u2, u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (algebraMap.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) p))
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_zero MvPolynomial.aeval_zeroₓ'. -/
@[simp]
theorem aeval_zero (p : MvPolynomial σ R) :
@@ -2699,10 +2450,7 @@ theorem aeval_zero (p : MvPolynomial σ R) :
#align mv_polynomial.aeval_zero MvPolynomial.aeval_zero
/- warning: mv_polynomial.aeval_zero' -> MvPolynomial.aeval_zero' is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : Algebra.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2)] (p : MvPolynomial.{u3, u1} σ R _inst_1), Eq.{succ u2} S₁ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (fun (_x : AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) ([anonymous].{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (MvPolynomial.aeval.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 _inst_3 (fun (_x : σ) => OfNat.ofNat.{u2} S₁ 0 (OfNat.mk.{u2} S₁ 0 (Zero.zero.{u2} S₁ (MulZeroClass.toHasZero.{u2} S₁ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))))))))) p) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (algebraMap.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) _inst_3) (coeFn.{max (succ (max u3 u1)) (succ u1), max (succ (max u3 u1)) (succ u1)} (RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.constantCoeff.{u1, u3} R σ _inst_1) p))
-but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : Algebra.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2)] (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) p) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u1) (succ u2), succ u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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, 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.{u2, 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.{u2, u3} R S₁ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{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.{u2, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, 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.{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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u1 u2, u3, max (max u3 u1) u2} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3 (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (AlgHom.algHomClass.{u2, max u1 u2, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3))))) (MvPolynomial.aeval.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_3 (fun (_x : σ) => OfNat.ofNat.{u3} S₁ 0 (Zero.toOfNat0.{u3} S₁ (CommMonoidWithZero.toZero.{u3} S₁ (CommSemiring.toCommMonoidWithZero.{u3} S₁ _inst_2))))) p) (FunLike.coe.{max (succ u3) (succ u2), succ u2, succ u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) => S₁) _x) (MulHomClass.toFunLike.{max u3 u2, u2, u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (NonUnitalNonAssocSemiring.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u2, u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u2, u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (algebraMap.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) p))
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_zero' MvPolynomial.aeval_zero'ₓ'. -/
@[simp]
theorem aeval_zero' (p : MvPolynomial σ R) :
@@ -2733,10 +2481,7 @@ theorem eval_zero' : eval (fun _ => 0 : σ → R) = constantCoeff :=
#align mv_polynomial.eval_zero' MvPolynomial.eval_zero'
/- warning: mv_polynomial.aeval_monomial -> MvPolynomial.aeval_monomial is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : Algebra.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2)] (g : σ -> S₁) (d : Finsupp.{u3, 0} σ Nat Nat.hasZero) (r : R), Eq.{succ u2} S₁ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (fun (_x : AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) ([anonymous].{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (MvPolynomial.aeval.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 _inst_3 g) (coeFn.{max (succ u1) (succ (max u3 u1)), max (succ u1) (succ (max u3 u1))} (LinearMap.{u1, u1, u1, max u3 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u3 u1} 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 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))))) (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 -> (MvPolynomial.{u3, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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)) (HMul.hMul.{u2, u2, u2} S₁ S₁ S₁ (instHMul.{u2} S₁ (Distrib.toHasMul.{u2} S₁ (NonUnitalNonAssocSemiring.toDistrib.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (algebraMap.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) _inst_3) r) (Finsupp.prod.{u3, 0, u2} σ Nat S₁ Nat.hasZero (CommSemiring.toCommMonoid.{u2} S₁ _inst_2) d (fun (i : σ) (k : Nat) => HPow.hPow.{u2, 0, u2} S₁ Nat S₁ (instHPow.{u2, 0} S₁ Nat (Monoid.Pow.{u2} S₁ (MonoidWithZero.toMonoid.{u2} S₁ (Semiring.toMonoidWithZero.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))))) (g i) k)))
-but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : Algebra.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2)] (g : σ -> S₁) (d : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (r : R), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 d) r)) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u1) (succ u2), succ u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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, 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.{u2, 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.{u2, u3} R S₁ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{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.{u2, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, 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.{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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u1 u2, u3, max (max u3 u1) u2} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3 (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (AlgHom.algHomClass.{u2, max u1 u2, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3))))) (MvPolynomial.aeval.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_3 g) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 d) r)) (HMul.hMul.{u3, u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) S₁ ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 d) r)) (instHMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (NonUnitalNonAssocSemiring.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2))))) (FunLike.coe.{max (succ u3) (succ u2), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) _x) (MulHomClass.toFunLike.{max u3 u2, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (algebraMap.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3) r) (Finsupp.prod.{u1, 0, u3} σ Nat S₁ (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (CommSemiring.toCommMonoid.{u3} S₁ _inst_2) d (fun (i : σ) (k : Nat) => HPow.hPow.{u3, 0, u3} S₁ Nat S₁ (instHPow.{u3, 0} S₁ Nat (Monoid.Pow.{u3} S₁ (MonoidWithZero.toMonoid.{u3} S₁ (Semiring.toMonoidWithZero.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))))) (g i) k)))
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_monomial MvPolynomial.aeval_monomialₓ'. -/
theorem aeval_monomial (g : σ → S₁) (d : σ →₀ ℕ) (r : R) :
aeval g (monomial d r) = algebraMap _ _ r * d.Prod fun i k => g i ^ k :=
@@ -2761,10 +2506,7 @@ theorem eval₂Hom_eq_zero (f : R →+* S₂) (g : σ → S₂) (φ : MvPolynomi
#align mv_polynomial.eval₂_hom_eq_zero MvPolynomial.eval₂Hom_eq_zero
/- warning: mv_polynomial.aeval_eq_zero -> MvPolynomial.aeval_eq_zero is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S₂ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_4 : CommSemiring.{u2} S₂] [_inst_5 : Algebra.{u1, u2} R S₂ _inst_1 (CommSemiring.toSemiring.{u2} S₂ _inst_4)] (f : σ -> S₂) (φ : MvPolynomial.{u3, u1} σ R _inst_1), (forall (d : Finsupp.{u3, 0} σ Nat Nat.hasZero), (Ne.{succ u1} R (MvPolynomial.coeff.{u1, u3} R σ _inst_1 d φ) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) -> (Exists.{succ u3} σ (fun (i : σ) => Exists.{0} (Membership.Mem.{u3, u3} σ (Finset.{u3} σ) (Finset.hasMem.{u3} σ) i (Finsupp.support.{u3, 0} σ Nat Nat.hasZero d)) (fun (H : Membership.Mem.{u3, u3} σ (Finset.{u3} σ) (Finset.hasMem.{u3} σ) i (Finsupp.support.{u3, 0} σ Nat Nat.hasZero d)) => Eq.{succ u2} S₂ (f i) (OfNat.ofNat.{u2} S₂ 0 (OfNat.mk.{u2} S₂ 0 (Zero.zero.{u2} S₂ (MulZeroClass.toHasZero.{u2} S₂ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4)))))))))))) -> (Eq.{succ u2} S₂ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₂ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₂ _inst_4) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_5) (fun (_x : AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₂ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₂ _inst_4) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_5) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₂) ([anonymous].{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₂ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₂ _inst_4) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_5) (MvPolynomial.aeval.{u1, u2, u3} R S₂ σ _inst_1 _inst_4 _inst_5 f) φ) (OfNat.ofNat.{u2} S₂ 0 (OfNat.mk.{u2} S₂ 0 (Zero.zero.{u2} S₂ (MulZeroClass.toHasZero.{u2} S₂ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4)))))))))
-but is expected to have type
- forall {R : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_4 : CommSemiring.{u3} S₂] [_inst_5 : Algebra.{u2, u3} R S₂ _inst_1 (CommSemiring.toSemiring.{u3} S₂ _inst_4)] (f : σ -> S₂) (φ : MvPolynomial.{u1, u2} σ R _inst_1), (forall (d : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)), (Ne.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d φ) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) -> (Exists.{succ u1} σ (fun (i : σ) => And (Membership.mem.{u1, u1} σ (Finset.{u1} σ) (Finset.instMembershipFinset.{u1} σ) i (Finsupp.support.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) d)) (Eq.{succ u3} S₂ (f i) (OfNat.ofNat.{u3} S₂ 0 (Zero.toOfNat0.{u3} S₂ (CommMonoidWithZero.toZero.{u3} S₂ (CommSemiring.toCommMonoidWithZero.{u3} S₂ _inst_4)))))))) -> (Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) φ) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u1) (succ u2), succ u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₂ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₂ _inst_4) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_5) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₂ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₂ _inst_4) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_5) R (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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, 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_4)))))) (DistribSMul.toSMulZeroClass.{u2, 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_4)))))) (DistribMulAction.toDistribSMul.{u2, u3} R S₂ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{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_4))))) (Module.toDistribMulAction.{u2, u3} R S₂ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (Algebra.toModule.{u2, u3} R S₂ _inst_1 (CommSemiring.toSemiring.{u3} S₂ _inst_4) _inst_5))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₂ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₂ _inst_4) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_5) R (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, 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_4))))) (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 u2 u1} (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 u2 u1} (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, u3} R S₂ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (Algebra.toModule.{u2, u3} R S₂ _inst_1 (CommSemiring.toSemiring.{u3} S₂ _inst_4) _inst_5)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₂ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₂ _inst_4) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_5) R (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (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 u2 u1} (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 u2 u1} (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, u3} R S₂ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (Algebra.toModule.{u2, u3} R S₂ _inst_1 (CommSemiring.toSemiring.{u3} S₂ _inst_4) _inst_5)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u1 u2, u3, max (max u3 u1) u2} R (MvPolynomial.{u1, u2} σ R _inst_1) S₂ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₂ _inst_4) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_5 (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₂ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₂ _inst_4) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_5) (AlgHom.algHomClass.{u2, max u1 u2, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₂ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₂ _inst_4) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_5))))) (MvPolynomial.aeval.{u2, u3, u1} R S₂ σ _inst_1 _inst_4 _inst_5 f) φ) (OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) φ) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) φ) (CommMonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) φ) (CommSemiring.toCommMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) φ) _inst_4)))))
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_eq_zero MvPolynomial.aeval_eq_zeroₓ'. -/
theorem aeval_eq_zero [Algebra R S₂] (f : σ → S₂) (φ : MvPolynomial σ R)
(h : ∀ d, φ.coeff d ≠ 0 → ∃ i ∈ d.support, f i = 0) : aeval f φ = 0 :=
@@ -2772,10 +2514,7 @@ theorem aeval_eq_zero [Algebra R S₂] (f : σ → S₂) (φ : MvPolynomial σ R
#align mv_polynomial.aeval_eq_zero MvPolynomial.aeval_eq_zero
/- warning: mv_polynomial.aeval_sum -> MvPolynomial.aeval_sum is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : Algebra.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2)] (f : σ -> S₁) {ι : Type.{u4}} (s : Finset.{u4} ι) (φ : ι -> (MvPolynomial.{u3, u1} σ R _inst_1)), Eq.{succ u2} S₁ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (fun (_x : AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) ([anonymous].{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (MvPolynomial.aeval.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 _inst_3 f) (Finset.sum.{max u3 u1, u4} (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))))) s (fun (i : ι) => φ i))) (Finset.sum.{u2, u4} S₁ ι (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))) s (fun (i : ι) => coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (fun (_x : AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) ([anonymous].{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (MvPolynomial.aeval.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 _inst_3 f) (φ i)))
-but is expected to have type
- forall {R : Type.{u3}} {S₁ : Type.{u4}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] [_inst_2 : CommSemiring.{u4} S₁] [_inst_3 : Algebra.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2)] (f : σ -> S₁) {ι : Type.{u2}} (s : Finset.{u2} ι) (φ : ι -> (MvPolynomial.{u1, u3} σ R _inst_1)), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u3} σ R _inst_1) => S₁) (Finset.sum.{max u1 u3, u2} (MvPolynomial.{u1, u3} σ R _inst_1) ι (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) s (fun (i : ι) => φ i))) (FunLike.coe.{max (max (succ u4) (succ u1)) (succ u3), max (succ u1) (succ u3), succ u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u3} σ R _inst_1) => S₁) _x) (SMulHomClass.toFunLike.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (SMulZeroClass.toSMul.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toZero.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))))))) (SMulZeroClass.toSMul.{u3, u4} R S₁ (AddMonoid.toZero.{u4} S₁ (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))))) (DistribSMul.toSMulZeroClass.{u3, u4} R S₁ (AddMonoid.toAddZeroClass.{u4} S₁ (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))))) (DistribMulAction.toDistribSMul.{u3, u4} R S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u3, max u1 u3, u4, max (max u4 u1) u3} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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 (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) (AlgHom.algHomClass.{u3, max u1 u3, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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 f) (Finset.sum.{max u1 u3, u2} (MvPolynomial.{u1, u3} σ R _inst_1) ι (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) s (fun (i : ι) => φ i))) (Finset.sum.{u4, u2} S₁ ι (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) s (fun (i : ι) => FunLike.coe.{max (max (succ u4) (succ u1)) (succ u3), max (succ u1) (succ u3), succ u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u3} σ R _inst_1) => S₁) _x) (SMulHomClass.toFunLike.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (SMulZeroClass.toSMul.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toZero.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))))))) (SMulZeroClass.toSMul.{u3, u4} R S₁ (AddMonoid.toZero.{u4} S₁ (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))))) (DistribSMul.toSMulZeroClass.{u3, u4} R S₁ (AddMonoid.toAddZeroClass.{u4} S₁ (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))))) (DistribMulAction.toDistribSMul.{u3, u4} R S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u3, max u1 u3, u4, max (max u4 u1) u3} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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 (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) (AlgHom.algHomClass.{u3, max u1 u3, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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 f) (φ i)))
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_sum MvPolynomial.aeval_sumₓ'. -/
theorem aeval_sum {ι : Type _} (s : Finset ι) (φ : ι → MvPolynomial σ R) :
aeval f (∑ i in s, φ i) = ∑ i in s, aeval f (φ i) :=
@@ -2783,10 +2522,7 @@ theorem aeval_sum {ι : Type _} (s : Finset ι) (φ : ι → MvPolynomial σ R)
#align mv_polynomial.aeval_sum MvPolynomial.aeval_sum
/- warning: mv_polynomial.aeval_prod -> MvPolynomial.aeval_prod is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : Algebra.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2)] (f : σ -> S₁) {ι : Type.{u4}} (s : Finset.{u4} ι) (φ : ι -> (MvPolynomial.{u3, u1} σ R _inst_1)), Eq.{succ u2} S₁ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (fun (_x : AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) ([anonymous].{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (MvPolynomial.aeval.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 _inst_3 f) (Finset.prod.{max u3 u1, u4} (MvPolynomial.{u3, u1} σ R _inst_1) ι (CommSemiring.toCommMonoid.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) s (fun (i : ι) => φ i))) (Finset.prod.{u2, u4} S₁ ι (CommSemiring.toCommMonoid.{u2} S₁ _inst_2) s (fun (i : ι) => coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (fun (_x : AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) ([anonymous].{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (MvPolynomial.aeval.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 _inst_3 f) (φ i)))
-but is expected to have type
- forall {R : Type.{u3}} {S₁ : Type.{u4}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] [_inst_2 : CommSemiring.{u4} S₁] [_inst_3 : Algebra.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2)] (f : σ -> S₁) {ι : Type.{u2}} (s : Finset.{u2} ι) (φ : ι -> (MvPolynomial.{u1, u3} σ R _inst_1)), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u3} σ R _inst_1) => S₁) (Finset.prod.{max u1 u3, u2} (MvPolynomial.{u1, u3} σ R _inst_1) ι (CommSemiring.toCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) s (fun (i : ι) => φ i))) (FunLike.coe.{max (max (succ u4) (succ u1)) (succ u3), max (succ u1) (succ u3), succ u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u3} σ R _inst_1) => S₁) _x) (SMulHomClass.toFunLike.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (SMulZeroClass.toSMul.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toZero.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))))))) (SMulZeroClass.toSMul.{u3, u4} R S₁ (AddMonoid.toZero.{u4} S₁ (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))))) (DistribSMul.toSMulZeroClass.{u3, u4} R S₁ (AddMonoid.toAddZeroClass.{u4} S₁ (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))))) (DistribMulAction.toDistribSMul.{u3, u4} R S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u3, max u1 u3, u4, max (max u4 u1) u3} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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 (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) (AlgHom.algHomClass.{u3, max u1 u3, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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 f) (Finset.prod.{max u1 u3, u2} (MvPolynomial.{u1, u3} σ R _inst_1) ι (CommSemiring.toCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) s (fun (i : ι) => φ i))) (Finset.prod.{u4, u2} S₁ ι (CommSemiring.toCommMonoid.{u4} S₁ _inst_2) s (fun (i : ι) => FunLike.coe.{max (max (succ u4) (succ u1)) (succ u3), max (succ u1) (succ u3), succ u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u3} σ R _inst_1) => S₁) _x) (SMulHomClass.toFunLike.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (SMulZeroClass.toSMul.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toZero.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))))))) (SMulZeroClass.toSMul.{u3, u4} R S₁ (AddMonoid.toZero.{u4} S₁ (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))))) (DistribSMul.toSMulZeroClass.{u3, u4} R S₁ (AddMonoid.toAddZeroClass.{u4} S₁ (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))))) (DistribMulAction.toDistribSMul.{u3, u4} R S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u3, max u1 u3, u4, max (max u4 u1) u3} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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 (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) (AlgHom.algHomClass.{u3, max u1 u3, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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 f) (φ i)))
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_prod MvPolynomial.aeval_prodₓ'. -/
@[to_additive]
theorem aeval_prod {ι : Type _} (s : Finset ι) (φ : ι → MvPolynomial σ R) :
@@ -2837,10 +2573,7 @@ def aevalTower (f : R →ₐ[S] A) (x : σ → A) : MvPolynomial σ R →ₐ[S]
variable (g : R →ₐ[S] A) (y : σ → A)
/- warning: mv_polynomial.aeval_tower_X -> MvPolynomial.aevalTower_X is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {S : Type.{u3}} {A : Type.{u4}} [_inst_3 : CommSemiring.{u3} S] [_inst_4 : CommSemiring.{u4} A] [_inst_6 : Algebra.{u3, u1} S R _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1)] [_inst_7 : Algebra.{u3, u4} S A _inst_3 (CommSemiring.toSemiring.{u4} A _inst_4)] (g : AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) (y : σ -> A) (i : σ), Eq.{succ u4} A (coeFn.{max (succ (max u2 u1)) (succ u4), max (succ (max u2 u1)) (succ u4)} (AlgHom.{u3, max u2 u1, u4} S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (fun (_x : AlgHom.{u3, max u2 u1, u4} S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) => (MvPolynomial.{u2, u1} σ R _inst_1) -> A) ([anonymous].{u3, max u2 u1, u4} S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (MvPolynomial.aevalTower.{u1, u2, u3, u4} R σ _inst_1 S A _inst_3 _inst_4 _inst_6 _inst_7 g y) (MvPolynomial.X.{u1, u2} R σ _inst_1 i)) (y i)
-but is expected to have type
- forall {R : Type.{u4}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u4} R] {S : Type.{u1}} {A : Type.{u3}} [_inst_3 : CommSemiring.{u1} S] [_inst_4 : CommSemiring.{u3} A] [_inst_6 : Algebra.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1)] [_inst_7 : Algebra.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4)] (g : AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) (y : σ -> A) (i : σ), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u2, u4} σ R _inst_1) => A) (MvPolynomial.X.{u4, u2} R σ _inst_1 i)) (FunLike.coe.{max (max (succ u4) (succ u2)) (succ u3), max (succ u4) (succ u2), succ u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (MvPolynomial.{u2, u4} σ R _inst_1) (fun (_x : MvPolynomial.{u2, u4} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u2, u4} σ R _inst_1) => A) _x) (SMulHomClass.toFunLike.{max (max u4 u2) u3, u1, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u4} σ R _inst_1) A (SMulZeroClass.toSMul.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toZero.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))))) (DistribSMul.toSMulZeroClass.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))))) (DistribMulAction.toDistribSMul.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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)))))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)))))) (SMulZeroClass.toSMul.{u1, u3} S A (AddMonoid.toZero.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribSMul.toSMulZeroClass.{u1, u3} S A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribMulAction.toDistribSMul.{u1, u3} S A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u2) u3, u1, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u4} σ R _inst_1) A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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)))))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u4 u2) u3, u1, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u4} σ R _inst_1) A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (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.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, max u4 u2, u3, max (max u4 u2) u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7 (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (AlgHom.algHomClass.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7))))) (MvPolynomial.aevalTower.{u4, u2, u1, u3} R σ _inst_1 S A _inst_3 _inst_4 _inst_6 _inst_7 g y) (MvPolynomial.X.{u4, u2} R σ _inst_1 i)) (y i)
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_tower_X MvPolynomial.aevalTower_Xₓ'. -/
@[simp]
theorem aevalTower_X (i : σ) : aevalTower g y (X i) = y i :=
@@ -2848,10 +2581,7 @@ theorem aevalTower_X (i : σ) : aevalTower g y (X i) = y i :=
#align mv_polynomial.aeval_tower_X MvPolynomial.aevalTower_X
/- warning: mv_polynomial.aeval_tower_C -> MvPolynomial.aevalTower_C is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {S : Type.{u3}} {A : Type.{u4}} [_inst_3 : CommSemiring.{u3} S] [_inst_4 : CommSemiring.{u4} A] [_inst_6 : Algebra.{u3, u1} S R _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1)] [_inst_7 : Algebra.{u3, u4} S A _inst_3 (CommSemiring.toSemiring.{u4} A _inst_4)] (g : AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) (y : σ -> A) (x : R), Eq.{succ u4} A (coeFn.{max (succ (max u2 u1)) (succ u4), max (succ (max u2 u1)) (succ u4)} (AlgHom.{u3, max u2 u1, u4} S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (fun (_x : AlgHom.{u3, max u2 u1, u4} S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) => (MvPolynomial.{u2, u1} σ R _inst_1) -> A) ([anonymous].{u3, max u2 u1, u4} S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (MvPolynomial.aevalTower.{u1, u2, u3, u4} R σ _inst_1 S A _inst_3 _inst_4 _inst_6 _inst_7 g y) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) x)) (coeFn.{max (succ u1) (succ u4), max (succ u1) (succ u4)} (AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) (fun (_x : AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) => R -> A) ([anonymous].{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) g x)
-but is expected to have type
- forall {R : Type.{u4}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u4} R] {S : Type.{u1}} {A : Type.{u3}} [_inst_3 : CommSemiring.{u1} S] [_inst_4 : CommSemiring.{u3} A] [_inst_6 : Algebra.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1)] [_inst_7 : Algebra.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4)] (g : AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) (y : σ -> A) (x : R), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u2, u4} σ R _inst_1) => A) (FunLike.coe.{max (succ u2) (succ u4), succ u4, max (succ u2) (succ u4)} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u2, u4} σ R _inst_1) a) (MulHomClass.toFunLike.{max u2 u4, u4, max u2 u4} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (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))))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u4, u4, max u2 u4} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u2, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (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)))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u4, u4, max u2 u4} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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))) (RingHom.instRingHomClassRingHom.{u4, max u2 u4} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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))))))) (MvPolynomial.C.{u4, u2} R σ _inst_1) x)) (FunLike.coe.{max (max (succ u4) (succ u2)) (succ u3), max (succ u4) (succ u2), succ u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (MvPolynomial.{u2, u4} σ R _inst_1) (fun (_x : MvPolynomial.{u2, u4} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u2, u4} σ R _inst_1) => A) _x) (SMulHomClass.toFunLike.{max (max u4 u2) u3, u1, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u4} σ R _inst_1) A (SMulZeroClass.toSMul.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toZero.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))))) (DistribSMul.toSMulZeroClass.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))))) (DistribMulAction.toDistribSMul.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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)))))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)))))) (SMulZeroClass.toSMul.{u1, u3} S A (AddMonoid.toZero.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribSMul.toSMulZeroClass.{u1, u3} S A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribMulAction.toDistribSMul.{u1, u3} S A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u2) u3, u1, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u4} σ R _inst_1) A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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)))))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u4 u2) u3, u1, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u4} σ R _inst_1) A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (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.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, max u4 u2, u3, max (max u4 u2) u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7 (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (AlgHom.algHomClass.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7))))) (MvPolynomial.aevalTower.{u4, u2, u1, u3} R σ _inst_1 S A _inst_3 _inst_4 _inst_6 _inst_7 g y) (FunLike.coe.{max (succ u2) (succ u4), succ u4, max (succ u2) (succ u4)} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u2, u4} σ R _inst_1) _x) (MulHomClass.toFunLike.{max u2 u4, u4, max u2 u4} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (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))))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u4, u4, max u2 u4} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u2, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (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)))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u4, u4, max u2 u4} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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))) (RingHom.instRingHomClassRingHom.{u4, max u2 u4} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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))))))) (MvPolynomial.C.{u4, u2} R σ _inst_1) x)) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R) => A) _x) (SMulHomClass.toFunLike.{max u4 u3, u1, u4, u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) S R A (SMulZeroClass.toSMul.{u1, u4} S R (AddMonoid.toZero.{u4} R (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u1, u4} S R (AddMonoid.toAddZeroClass.{u4} R (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u1, u4} S R (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6))))) (SMulZeroClass.toSMul.{u1, u3} S A (AddMonoid.toZero.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribSMul.toSMulZeroClass.{u1, u3} S A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribMulAction.toDistribSMul.{u1, u3} S A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7))))) (DistribMulActionHomClass.toSMulHomClass.{max u4 u3, u1, u4, u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) S R A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u4 u3, u1, u4, u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) S R A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, u4, u3, max u4 u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7 (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) (AlgHom.algHomClass.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7))))) g x)
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_tower_C MvPolynomial.aevalTower_Cₓ'. -/
@[simp]
theorem aevalTower_C (x : R) : aevalTower g y (C x) = g x :=
@@ -2859,10 +2589,7 @@ theorem aevalTower_C (x : R) : aevalTower g y (C x) = g x :=
#align mv_polynomial.aeval_tower_C MvPolynomial.aevalTower_C
/- warning: mv_polynomial.aeval_tower_comp_C -> MvPolynomial.aevalTower_comp_C is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {S : Type.{u3}} {A : Type.{u4}} [_inst_3 : CommSemiring.{u3} S] [_inst_4 : CommSemiring.{u4} A] [_inst_6 : Algebra.{u3, u1} S R _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1)] [_inst_7 : Algebra.{u3, u4} S A _inst_3 (CommSemiring.toSemiring.{u4} A _inst_4)] (g : AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) (y : σ -> A), Eq.{max (succ u1) (succ u4)} (RingHom.{u1, u4} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A _inst_4))) (RingHom.comp.{u1, max u2 u1, u4} R (MvPolynomial.{u2, u1} σ R _inst_1) A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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))) (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A _inst_4)) ((fun (a : Sort.{max (succ (max u2 u1)) (succ u4)}) (b : Sort.{max (succ (max u2 u1)) (succ u4)}) [self : HasLiftT.{max (succ (max u2 u1)) (succ u4), max (succ (max u2 u1)) (succ u4)} a b] => self.0) (AlgHom.{u3, max u2 u1, u4} S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (RingHom.{max u2 u1, u4} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A _inst_4))) (HasLiftT.mk.{max (succ (max u2 u1)) (succ u4), max (succ (max u2 u1)) (succ u4)} (AlgHom.{u3, max u2 u1, u4} S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (RingHom.{max u2 u1, u4} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A _inst_4))) (CoeTCₓ.coe.{max (succ (max u2 u1)) (succ u4), max (succ (max u2 u1)) (succ u4)} (AlgHom.{u3, max u2 u1, u4} S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (RingHom.{max u2 u1, u4} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A _inst_4))) (RingHom.hasCoeT.{max (max u2 u1) u4, max u2 u1, u4} (AlgHom.{u3, max u2 u1, u4} S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A _inst_4)) (AlgHomClass.toRingHomClass.{max (max u2 u1) u4, u3, max u2 u1, u4} (AlgHom.{u3, max u2 u1, u4} S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7 (AlgHom.algHomClass.{u3, max u2 u1, u4} S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7))))) (MvPolynomial.aevalTower.{u1, u2, u3, u4} R σ _inst_1 S A _inst_3 _inst_4 _inst_6 _inst_7 g y)) (MvPolynomial.C.{u1, u2} R σ _inst_1)) ((fun (a : Sort.{max (succ u1) (succ u4)}) (b : Sort.{max (succ u1) (succ u4)}) [self : HasLiftT.{max (succ u1) (succ u4), max (succ u1) (succ u4)} a b] => self.0) (AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) (RingHom.{u1, u4} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A _inst_4))) (HasLiftT.mk.{max (succ u1) (succ u4), max (succ u1) (succ u4)} (AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) (RingHom.{u1, u4} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A _inst_4))) (CoeTCₓ.coe.{max (succ u1) (succ u4), max (succ u1) (succ u4)} (AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) (RingHom.{u1, u4} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A _inst_4))) (RingHom.hasCoeT.{max u1 u4, u1, u4} (AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A _inst_4)) (AlgHomClass.toRingHomClass.{max u1 u4, u3, u1, u4} (AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7 (AlgHom.algHomClass.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7))))) g)
-but is expected to have type
- forall {R : Type.{u4}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u4} R] {S : Type.{u1}} {A : Type.{u3}} [_inst_3 : CommSemiring.{u1} S] [_inst_4 : CommSemiring.{u3} A] [_inst_6 : Algebra.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1)] [_inst_7 : Algebra.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4)] (g : AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) (y : σ -> A), Eq.{max (succ u4) (succ u3)} (RingHom.{u4, u3} R A (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))) (RingHom.comp.{u4, max u4 u2, u3} R (MvPolynomial.{u2, u4} σ R _inst_1) A (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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))) (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)) (RingHomClass.toRingHom.{max (max u4 u2) u3, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (MvPolynomial.{u2, u4} σ R _inst_1) A (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.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)) (AlgHomClass.toRingHomClass.{max (max u4 u2) u3, u1, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7 (AlgHom.algHomClass.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7)) (MvPolynomial.aevalTower.{u4, u2, u1, u3} R σ _inst_1 S A _inst_3 _inst_4 _inst_6 _inst_7 g y)) (MvPolynomial.C.{u4, u2} R σ _inst_1)) (RingHomClass.toRingHom.{max u4 u3, u4, u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) R A (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)) (AlgHomClass.toRingHomClass.{max u4 u3, u1, u4, u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7 (AlgHom.algHomClass.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7)) g)
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_tower_comp_C MvPolynomial.aevalTower_comp_Cₓ'. -/
@[simp]
theorem aevalTower_comp_C : (aevalTower g y : MvPolynomial σ R →+* A).comp C = g :=
@@ -2870,10 +2597,7 @@ theorem aevalTower_comp_C : (aevalTower g y : MvPolynomial σ R →+* A).comp C
#align mv_polynomial.aeval_tower_comp_C MvPolynomial.aevalTower_comp_C
/- warning: mv_polynomial.aeval_tower_algebra_map -> MvPolynomial.aevalTower_algebraMap is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {S : Type.{u3}} {A : Type.{u4}} [_inst_3 : CommSemiring.{u3} S] [_inst_4 : CommSemiring.{u4} A] [_inst_6 : Algebra.{u3, u1} S R _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1)] [_inst_7 : Algebra.{u3, u4} S A _inst_3 (CommSemiring.toSemiring.{u4} A _inst_4)] (g : AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) (y : σ -> A) (x : R), Eq.{succ u4} A (coeFn.{max (succ (max u2 u1)) (succ u4), max (succ (max u2 u1)) (succ u4)} (AlgHom.{u3, max u2 u1, u4} S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (fun (_x : AlgHom.{u3, max u2 u1, u4} S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) => (MvPolynomial.{u2, u1} σ R _inst_1) -> A) ([anonymous].{u3, max u2 u1, u4} S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (MvPolynomial.aevalTower.{u1, u2, u3, u4} R σ _inst_1 S A _inst_3 _inst_4 _inst_6 _inst_7 g y) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (algebraMap.{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))) x)) (coeFn.{max (succ u1) (succ u4), max (succ u1) (succ u4)} (AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) (fun (_x : AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) => R -> A) ([anonymous].{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) g x)
-but is expected to have type
- forall {R : Type.{u4}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u4} R] {S : Type.{u1}} {A : Type.{u3}} [_inst_3 : CommSemiring.{u1} S] [_inst_4 : CommSemiring.{u3} A] [_inst_6 : Algebra.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1)] [_inst_7 : Algebra.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4)] (g : AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) (y : σ -> A) (x : R), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u2, u4} σ R _inst_1) => A) (FunLike.coe.{max (succ u4) (succ u2), succ u4, max (succ u4) (succ u2)} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u2, u4} σ R _inst_1) a) (MulHomClass.toFunLike.{max u4 u2, u4, max u4 u2} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (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))))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u2, u4, max u4 u2} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u2, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) (RingHomClass.toNonUnitalRingHomClass.{max u4 u2, u4, max u4 u2} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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))) (RingHom.instRingHomClassRingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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))))))) (algebraMap.{u4, max u4 u2} 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))) x)) (FunLike.coe.{max (max (succ u4) (succ u2)) (succ u3), max (succ u4) (succ u2), succ u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (MvPolynomial.{u2, u4} σ R _inst_1) (fun (_x : MvPolynomial.{u2, u4} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u2, u4} σ R _inst_1) => A) _x) (SMulHomClass.toFunLike.{max (max u4 u2) u3, u1, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u4} σ R _inst_1) A (SMulZeroClass.toSMul.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toZero.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))))) (DistribSMul.toSMulZeroClass.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))))) (DistribMulAction.toDistribSMul.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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)))))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)))))) (SMulZeroClass.toSMul.{u1, u3} S A (AddMonoid.toZero.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribSMul.toSMulZeroClass.{u1, u3} S A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribMulAction.toDistribSMul.{u1, u3} S A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u2) u3, u1, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u4} σ R _inst_1) A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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)))))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u4 u2) u3, u1, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u4} σ R _inst_1) A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (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.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, max u4 u2, u3, max (max u4 u2) u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7 (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (AlgHom.algHomClass.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7))))) (MvPolynomial.aevalTower.{u4, u2, u1, u3} R σ _inst_1 S A _inst_3 _inst_4 _inst_6 _inst_7 g y) (FunLike.coe.{max (succ u4) (succ u2), succ u4, max (succ u4) (succ u2)} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u2, u4} σ R _inst_1) _x) (MulHomClass.toFunLike.{max u4 u2, u4, max u4 u2} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (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))))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u2, u4, max u4 u2} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u2, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) (RingHomClass.toNonUnitalRingHomClass.{max u4 u2, u4, max u4 u2} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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))) (RingHom.instRingHomClassRingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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))))))) (algebraMap.{u4, max u4 u2} 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))) x)) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R) => A) _x) (SMulHomClass.toFunLike.{max u4 u3, u1, u4, u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) S R A (SMulZeroClass.toSMul.{u1, u4} S R (AddMonoid.toZero.{u4} R (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u1, u4} S R (AddMonoid.toAddZeroClass.{u4} R (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u1, u4} S R (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6))))) (SMulZeroClass.toSMul.{u1, u3} S A (AddMonoid.toZero.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribSMul.toSMulZeroClass.{u1, u3} S A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribMulAction.toDistribSMul.{u1, u3} S A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7))))) (DistribMulActionHomClass.toSMulHomClass.{max u4 u3, u1, u4, u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) S R A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u4 u3, u1, u4, u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) S R A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, u4, u3, max u4 u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7 (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) (AlgHom.algHomClass.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7))))) g x)
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_tower_algebra_map MvPolynomial.aevalTower_algebraMapₓ'. -/
@[simp]
theorem aevalTower_algebraMap (x : R) : aevalTower g y (algebraMap R (MvPolynomial σ R) x) = g x :=
@@ -2881,10 +2605,7 @@ theorem aevalTower_algebraMap (x : R) : aevalTower g y (algebraMap R (MvPolynomi
#align mv_polynomial.aeval_tower_algebra_map MvPolynomial.aevalTower_algebraMap
/- warning: mv_polynomial.aeval_tower_comp_algebra_map -> MvPolynomial.aevalTower_comp_algebraMap is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {S : Type.{u3}} {A : Type.{u4}} [_inst_3 : CommSemiring.{u3} S] [_inst_4 : CommSemiring.{u4} A] [_inst_6 : Algebra.{u3, u1} S R _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1)] [_inst_7 : Algebra.{u3, u4} S A _inst_3 (CommSemiring.toSemiring.{u4} A _inst_4)] (g : AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) (y : σ -> A), Eq.{max (succ u1) (succ u4)} (RingHom.{u1, u4} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A _inst_4))) (RingHom.comp.{u1, max u2 u1, u4} R (MvPolynomial.{u2, u1} σ R _inst_1) A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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))) (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A _inst_4)) ((fun (a : Sort.{max (succ (max u2 u1)) (succ u4)}) (b : Sort.{max (succ (max u2 u1)) (succ u4)}) [self : HasLiftT.{max (succ (max u2 u1)) (succ u4), max (succ (max u2 u1)) (succ u4)} a b] => self.0) (AlgHom.{u3, max u2 u1, u4} S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (RingHom.{max u2 u1, u4} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A _inst_4))) (HasLiftT.mk.{max (succ (max u2 u1)) (succ u4), max (succ (max u2 u1)) (succ u4)} (AlgHom.{u3, max u2 u1, u4} S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (RingHom.{max u2 u1, u4} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A _inst_4))) (CoeTCₓ.coe.{max (succ (max u2 u1)) (succ u4), max (succ (max u2 u1)) (succ u4)} (AlgHom.{u3, max u2 u1, u4} S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (RingHom.{max u2 u1, u4} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A _inst_4))) (RingHom.hasCoeT.{max (max u2 u1) u4, max u2 u1, u4} (AlgHom.{u3, max u2 u1, u4} S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A _inst_4)) (AlgHomClass.toRingHomClass.{max (max u2 u1) u4, u3, max u2 u1, u4} (AlgHom.{u3, max u2 u1, u4} S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7 (AlgHom.algHomClass.{u3, max u2 u1, u4} S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7))))) (MvPolynomial.aevalTower.{u1, u2, u3, u4} R σ _inst_1 S A _inst_3 _inst_4 _inst_6 _inst_7 g y)) (algebraMap.{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)))) ((fun (a : Sort.{max (succ u1) (succ u4)}) (b : Sort.{max (succ u1) (succ u4)}) [self : HasLiftT.{max (succ u1) (succ u4), max (succ u1) (succ u4)} a b] => self.0) (AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) (RingHom.{u1, u4} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A _inst_4))) (HasLiftT.mk.{max (succ u1) (succ u4), max (succ u1) (succ u4)} (AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) (RingHom.{u1, u4} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A _inst_4))) (CoeTCₓ.coe.{max (succ u1) (succ u4), max (succ u1) (succ u4)} (AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) (RingHom.{u1, u4} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A _inst_4))) (RingHom.hasCoeT.{max u1 u4, u1, u4} (AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A _inst_4)) (AlgHomClass.toRingHomClass.{max u1 u4, u3, u1, u4} (AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7 (AlgHom.algHomClass.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7))))) g)
-but is expected to have type
- forall {R : Type.{u4}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u4} R] {S : Type.{u1}} {A : Type.{u3}} [_inst_3 : CommSemiring.{u1} S] [_inst_4 : CommSemiring.{u3} A] [_inst_6 : Algebra.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1)] [_inst_7 : Algebra.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4)] (g : AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) (y : σ -> A), Eq.{max (succ u4) (succ u3)} (RingHom.{u4, u3} R A (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))) (RingHom.comp.{u4, max u4 u2, u3} R (MvPolynomial.{u2, u4} σ R _inst_1) A (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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))) (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)) (RingHomClass.toRingHom.{max (max u4 u2) u3, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (MvPolynomial.{u2, u4} σ R _inst_1) A (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.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)) (AlgHomClass.toRingHomClass.{max (max u4 u2) u3, u1, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7 (AlgHom.algHomClass.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7)) (MvPolynomial.aevalTower.{u4, u2, u1, u3} R σ _inst_1 S A _inst_3 _inst_4 _inst_6 _inst_7 g y)) (algebraMap.{u4, max u4 u2} 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)))) (RingHomClass.toRingHom.{max u4 u3, u4, u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) R A (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)) (AlgHomClass.toRingHomClass.{max u4 u3, u1, u4, u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7 (AlgHom.algHomClass.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7)) g)
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_tower_comp_algebra_map MvPolynomial.aevalTower_comp_algebraMapₓ'. -/
@[simp]
theorem aevalTower_comp_algebraMap :
@@ -2893,10 +2614,7 @@ theorem aevalTower_comp_algebraMap :
#align mv_polynomial.aeval_tower_comp_algebra_map MvPolynomial.aevalTower_comp_algebraMap
/- warning: mv_polynomial.aeval_tower_to_alg_hom -> MvPolynomial.aevalTower_toAlgHom is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {S : Type.{u3}} {A : Type.{u4}} [_inst_3 : CommSemiring.{u3} S] [_inst_4 : CommSemiring.{u4} A] [_inst_6 : Algebra.{u3, u1} S R _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1)] [_inst_7 : Algebra.{u3, u4} S A _inst_3 (CommSemiring.toSemiring.{u4} A _inst_4)] (g : AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) (y : σ -> A) (x : R), Eq.{succ u4} A (coeFn.{max (succ (max u2 u1)) (succ u4), max (succ (max u2 u1)) (succ u4)} (AlgHom.{u3, max u2 u1, u4} S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (fun (_x : AlgHom.{u3, max u2 u1, u4} S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) => (MvPolynomial.{u2, u1} σ R _inst_1) -> A) ([anonymous].{u3, max u2 u1, u4} S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (MvPolynomial.aevalTower.{u1, u2, u3, u4} R σ _inst_1 S A _inst_3 _inst_4 _inst_6 _inst_7 g y) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (AlgHom.{u3, u1, max u2 u1} S R (MvPolynomial.{u2, u1} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6)) (fun (_x : AlgHom.{u3, u1, max u2 u1} S R (MvPolynomial.{u2, u1} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6)) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) ([anonymous].{u3, u1, max u2 u1} S R (MvPolynomial.{u2, u1} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6)) (IsScalarTower.toAlgHom.{u3, u1, max u2 u1} S R (MvPolynomial.{u2, u1} σ R _inst_1) _inst_3 _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) (MvPolynomial.isScalarTower.{u3, u1, u1, u2} S R R σ _inst_1 (SMulZeroClass.toHasSmul.{u3, u1} S R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (SMulWithZero.toSmulZeroClass.{u3, u1} S R (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3))))) (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (MulActionWithZero.toSMulWithZero.{u3, u1} S R (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3)) (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (Module.toMulActionWithZero.{u3, u1} S R (CommSemiring.toSemiring.{u3} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u3, u1} S R _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6))))) (SMulWithZero.toSmulZeroClass.{u3, u1} S R (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3))))) (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (MulActionWithZero.toSMulWithZero.{u3, u1} S R (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3)) (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Module.toMulActionWithZero.{u3, u1} S R (CommSemiring.toSemiring.{u3} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u3, u1} S R _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6)))) (SMulWithZero.toSmulZeroClass.{u1, u1} R R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (MulZeroClass.toSMulWithZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (IsScalarTower.right.{u3, u1} S R _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6))) x)) (coeFn.{max (succ u1) (succ u4), max (succ u1) (succ u4)} (AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) (fun (_x : AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) => R -> A) ([anonymous].{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) g x)
-but is expected to have type
- forall {R : Type.{u4}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u4} R] {S : Type.{u1}} {A : Type.{u3}} [_inst_3 : CommSemiring.{u1} S] [_inst_4 : CommSemiring.{u3} A] [_inst_6 : Algebra.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1)] [_inst_7 : Algebra.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4)] (g : AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) (y : σ -> A) (x : R), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u2, u4} σ R _inst_1) => A) (FunLike.coe.{max (succ u4) (succ u2), succ u4, max (succ u4) (succ u2)} (AlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R) => MvPolynomial.{u2, u4} σ R _inst_1) a) (SMulHomClass.toFunLike.{max u4 u2, u1, u4, max u4 u2} (AlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)) S R (MvPolynomial.{u2, u4} σ R _inst_1) (SMulZeroClass.toSMul.{u1, u4} S R (AddMonoid.toZero.{u4} R (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u1, u4} S R (AddMonoid.toAddZeroClass.{u4} R (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u1, u4} S R (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6))))) (SMulZeroClass.toSMul.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toZero.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))))) (DistribSMul.toSMulZeroClass.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))))) (DistribMulAction.toDistribSMul.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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)))))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)))))) (DistribMulActionHomClass.toSMulHomClass.{max u4 u2, u1, u4, max u4 u2} (AlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)) S R (MvPolynomial.{u2, u4} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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)))))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u4 u2, u1, u4, max u4 u2} (AlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)) S R (MvPolynomial.{u2, u4} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, u4, max u4 u2, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) (AlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)) (AlgHom.algHomClass.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)))))) (IsScalarTower.toAlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 _inst_1 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u4, u4, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) (MvPolynomial.isScalarTower.{u1, u4, u4, u2} S R R σ _inst_1 (Algebra.toSMul.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6) (SMulWithZero.toSMulZeroClass.{u1, u4} S R (CommMonoidWithZero.toZero.{u1} S (CommSemiring.toCommMonoidWithZero.{u1} S _inst_3)) (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (MulActionWithZero.toSMulWithZero.{u1, u4} S R (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3)) (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (Module.toMulActionWithZero.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)))) (SMulWithZero.toSMulZeroClass.{u4, u4} R R (CommMonoidWithZero.toZero.{u4} R (CommSemiring.toCommMonoidWithZero.{u4} R _inst_1)) (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (MulActionWithZero.toSMulWithZero.{u4, u4} R R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (Module.toMulActionWithZero.{u4, u4} R R (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u4, u4} R R _inst_1 (CommSemiring.toSemiring.{u4} R _inst_1) (Algebra.id.{u4} R _inst_1))))) (IsScalarTower.right.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6))) x)) (FunLike.coe.{max (max (succ u4) (succ u2)) (succ u3), max (succ u4) (succ u2), succ u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (MvPolynomial.{u2, u4} σ R _inst_1) (fun (_x : MvPolynomial.{u2, u4} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u2, u4} σ R _inst_1) => A) _x) (SMulHomClass.toFunLike.{max (max u4 u2) u3, u1, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u4} σ R _inst_1) A (SMulZeroClass.toSMul.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toZero.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))))) (DistribSMul.toSMulZeroClass.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))))) (DistribMulAction.toDistribSMul.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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)))))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)))))) (SMulZeroClass.toSMul.{u1, u3} S A (AddMonoid.toZero.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribSMul.toSMulZeroClass.{u1, u3} S A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribMulAction.toDistribSMul.{u1, u3} S A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u2) u3, u1, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u4} σ R _inst_1) A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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)))))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u4 u2) u3, u1, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u4} σ R _inst_1) A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (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.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, max u4 u2, u3, max (max u4 u2) u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7 (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (AlgHom.algHomClass.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7))))) (MvPolynomial.aevalTower.{u4, u2, u1, u3} R σ _inst_1 S A _inst_3 _inst_4 _inst_6 _inst_7 g y) (FunLike.coe.{max (succ u4) (succ u2), succ u4, max (succ u4) (succ u2)} (AlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R) => MvPolynomial.{u2, u4} σ R _inst_1) _x) (SMulHomClass.toFunLike.{max u4 u2, u1, u4, max u4 u2} (AlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)) S R (MvPolynomial.{u2, u4} σ R _inst_1) (SMulZeroClass.toSMul.{u1, u4} S R (AddMonoid.toZero.{u4} R (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u1, u4} S R (AddMonoid.toAddZeroClass.{u4} R (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u1, u4} S R (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6))))) (SMulZeroClass.toSMul.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toZero.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))))) (DistribSMul.toSMulZeroClass.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))))) (DistribMulAction.toDistribSMul.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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)))))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)))))) (DistribMulActionHomClass.toSMulHomClass.{max u4 u2, u1, u4, max u4 u2} (AlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)) S R (MvPolynomial.{u2, u4} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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)))))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u4 u2, u1, u4, max u4 u2} (AlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)) S R (MvPolynomial.{u2, u4} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, u4, max u4 u2, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) (AlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)) (AlgHom.algHomClass.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)))))) (IsScalarTower.toAlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 _inst_1 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u4, u4, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) (MvPolynomial.isScalarTower.{u1, u4, u4, u2} S R R σ _inst_1 (Algebra.toSMul.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6) (SMulWithZero.toSMulZeroClass.{u1, u4} S R (CommMonoidWithZero.toZero.{u1} S (CommSemiring.toCommMonoidWithZero.{u1} S _inst_3)) (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (MulActionWithZero.toSMulWithZero.{u1, u4} S R (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3)) (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (Module.toMulActionWithZero.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)))) (SMulWithZero.toSMulZeroClass.{u4, u4} R R (CommMonoidWithZero.toZero.{u4} R (CommSemiring.toCommMonoidWithZero.{u4} R _inst_1)) (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (MulActionWithZero.toSMulWithZero.{u4, u4} R R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (Module.toMulActionWithZero.{u4, u4} R R (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u4, u4} R R _inst_1 (CommSemiring.toSemiring.{u4} R _inst_1) (Algebra.id.{u4} R _inst_1))))) (IsScalarTower.right.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6))) x)) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R) => A) _x) (SMulHomClass.toFunLike.{max u4 u3, u1, u4, u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) S R A (SMulZeroClass.toSMul.{u1, u4} S R (AddMonoid.toZero.{u4} R (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u1, u4} S R (AddMonoid.toAddZeroClass.{u4} R (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u1, u4} S R (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6))))) (SMulZeroClass.toSMul.{u1, u3} S A (AddMonoid.toZero.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribSMul.toSMulZeroClass.{u1, u3} S A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribMulAction.toDistribSMul.{u1, u3} S A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7))))) (DistribMulActionHomClass.toSMulHomClass.{max u4 u3, u1, u4, u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) S R A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u4 u3, u1, u4, u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) S R A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, u4, u3, max u4 u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7 (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) (AlgHom.algHomClass.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7))))) g x)
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_tower_to_alg_hom MvPolynomial.aevalTower_toAlgHomₓ'. -/
theorem aevalTower_toAlgHom (x : R) :
aevalTower g y (IsScalarTower.toAlgHom S R (MvPolynomial σ R) x) = g x :=
@@ -2904,10 +2622,7 @@ theorem aevalTower_toAlgHom (x : R) :
#align mv_polynomial.aeval_tower_to_alg_hom MvPolynomial.aevalTower_toAlgHom
/- warning: mv_polynomial.aeval_tower_comp_to_alg_hom -> MvPolynomial.aevalTower_comp_toAlgHom is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {S : Type.{u3}} {A : Type.{u4}} [_inst_3 : CommSemiring.{u3} S] [_inst_4 : CommSemiring.{u4} A] [_inst_6 : Algebra.{u3, u1} S R _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1)] [_inst_7 : Algebra.{u3, u4} S A _inst_3 (CommSemiring.toSemiring.{u4} A _inst_4)] (g : AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) (y : σ -> A), Eq.{max (succ u1) (succ u4)} (AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) (AlgHom.comp.{u3, u1, max u2 u1, u4} S R (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7 (MvPolynomial.aevalTower.{u1, u2, u3, u4} R σ _inst_1 S A _inst_3 _inst_4 _inst_6 _inst_7 g y) (IsScalarTower.toAlgHom.{u3, u1, max u2 u1} S R (MvPolynomial.{u2, u1} σ R _inst_1) _inst_3 _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) (MvPolynomial.isScalarTower.{u3, u1, u1, u2} S R R σ _inst_1 (SMulZeroClass.toHasSmul.{u3, u1} S R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (SMulWithZero.toSmulZeroClass.{u3, u1} S R (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3))))) (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (MulActionWithZero.toSMulWithZero.{u3, u1} S R (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3)) (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (Module.toMulActionWithZero.{u3, u1} S R (CommSemiring.toSemiring.{u3} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u3, u1} S R _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6))))) (SMulWithZero.toSmulZeroClass.{u3, u1} S R (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3))))) (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (MulActionWithZero.toSMulWithZero.{u3, u1} S R (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3)) (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Module.toMulActionWithZero.{u3, u1} S R (CommSemiring.toSemiring.{u3} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u3, u1} S R _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6)))) (SMulWithZero.toSmulZeroClass.{u1, u1} R R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (MulZeroClass.toSMulWithZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (IsScalarTower.right.{u3, u1} S R _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6)))) g
-but is expected to have type
- forall {R : Type.{u4}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u4} R] {S : Type.{u2}} {A : Type.{u3}} [_inst_3 : CommSemiring.{u2} S] [_inst_4 : CommSemiring.{u3} A] [_inst_6 : Algebra.{u2, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1)] [_inst_7 : Algebra.{u2, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4)] (g : AlgHom.{u2, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) (y : σ -> A), Eq.{max (succ u4) (succ u3)} (AlgHom.{u2, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) (AlgHom.comp.{u2, u4, max u4 u1, u3} S R (MvPolynomial.{u1, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 (MvPolynomial.algebra.{u2, u4, u1} S R σ _inst_3 _inst_1 _inst_6) _inst_7 (MvPolynomial.aevalTower.{u4, u1, u2, u3} R σ _inst_1 S A _inst_3 _inst_4 _inst_6 _inst_7 g y) (IsScalarTower.toAlgHom.{u2, u4, max u4 u1} S R (MvPolynomial.{u1, u4} σ R _inst_1) _inst_3 _inst_1 (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u4, u4, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) (MvPolynomial.algebra.{u2, u4, u1} S R σ _inst_3 _inst_1 _inst_6) (MvPolynomial.isScalarTower.{u2, u4, u4, u1} S R R σ _inst_1 (Algebra.toSMul.{u2, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6) (SMulWithZero.toSMulZeroClass.{u2, u4} S R (CommMonoidWithZero.toZero.{u2} S (CommSemiring.toCommMonoidWithZero.{u2} S _inst_3)) (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (MulActionWithZero.toSMulWithZero.{u2, u4} S R (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (Module.toMulActionWithZero.{u2, u4} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u2, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)))) (SMulWithZero.toSMulZeroClass.{u4, u4} R R (CommMonoidWithZero.toZero.{u4} R (CommSemiring.toCommMonoidWithZero.{u4} R _inst_1)) (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (MulActionWithZero.toSMulWithZero.{u4, u4} R R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (Module.toMulActionWithZero.{u4, u4} R R (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u4, u4} R R _inst_1 (CommSemiring.toSemiring.{u4} R _inst_1) (Algebra.id.{u4} R _inst_1))))) (IsScalarTower.right.{u2, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)))) g
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_tower_comp_to_alg_hom MvPolynomial.aevalTower_comp_toAlgHomₓ'. -/
@[simp]
theorem aevalTower_comp_toAlgHom :
@@ -2949,10 +2664,7 @@ section EvalMem
variable {S subS : Type _} [CommSemiring S] [SetLike subS S] [SubsemiringClass subS S]
/- warning: mv_polynomial.eval₂_mem -> MvPolynomial.eval₂_mem is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {S : Type.{u3}} {subS : Type.{u4}} [_inst_3 : CommSemiring.{u3} S] [_inst_4 : SetLike.{u4, u3} subS S] [_inst_5 : SubsemiringClass.{u3, u4} subS S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3)) _inst_4] {f : RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3))} {p : MvPolynomial.{u2, u1} σ R _inst_1} {s : subS}, (forall (i : Finsupp.{u2, 0} σ Nat Nat.hasZero), (Membership.Mem.{u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasMem.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) i (MvPolynomial.support.{u1, u2} R σ _inst_1 p)) -> (Membership.Mem.{u3, u4} S subS (SetLike.hasMem.{u4, u3} subS S _inst_4) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3))) (fun (_x : RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3))) => R -> S) (RingHom.hasCoeToFun.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3))) f (MvPolynomial.coeff.{u1, u2} R σ _inst_1 i p)) s)) -> (forall {v : σ -> S}, (forall (i : σ), Membership.Mem.{u3, u4} S subS (SetLike.hasMem.{u4, u3} subS S _inst_4) (v i) s) -> (Membership.Mem.{u3, u4} S subS (SetLike.hasMem.{u4, u3} subS S _inst_4) (MvPolynomial.eval₂.{u1, u3, u2} R S σ _inst_1 _inst_3 f v p) s))
-but is expected to have type
- forall {R : Type.{u4}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u4} R] {S : Type.{u3}} {subS : Type.{u1}} [_inst_3 : CommSemiring.{u3} S] [_inst_4 : SetLike.{u1, u3} subS S] [_inst_5 : SubsemiringClass.{u3, u1} subS S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3)) _inst_4] {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_3))} {p : MvPolynomial.{u2, u4} σ R _inst_1} {s : subS}, (forall (i : Finsupp.{u2, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)), (Membership.mem.{u2, u2} (Finsupp.{u2, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finset.{u2} (Finsupp.{u2, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instMembershipFinset.{u2} (Finsupp.{u2, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) i (MvPolynomial.support.{u4, u2} R σ _inst_1 p)) -> (Membership.mem.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) (MvPolynomial.coeff.{u4, u2} R σ _inst_1 i p)) subS (SetLike.instMembership.{u1, u3} subS S _inst_4) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3))) R S (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3))) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3))) R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3)) (RingHom.instRingHomClassRingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3)))))) f (MvPolynomial.coeff.{u4, u2} R σ _inst_1 i p)) s)) -> (forall {v : σ -> S}, (forall (i : σ), Membership.mem.{u3, u1} S subS (SetLike.instMembership.{u1, u3} subS S _inst_4) (v i) s) -> (Membership.mem.{u3, u1} S subS (SetLike.instMembership.{u1, u3} subS S _inst_4) (MvPolynomial.eval₂.{u4, u3, u2} R S σ _inst_1 _inst_3 f v p) s))
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_mem MvPolynomial.eval₂_memₓ'. -/
theorem eval₂_mem {f : R →+* S} {p : MvPolynomial σ R} {s : subS}
(hs : ∀ i ∈ p.support, f (p.coeff i) ∈ s) {v : σ → S} (hv : ∀ i, v i ∈ s) :
@@ -2981,10 +2693,7 @@ theorem eval₂_mem {f : R →+* S} {p : MvPolynomial σ R} {s : subS}
#align mv_polynomial.eval₂_mem MvPolynomial.eval₂_mem
/- warning: mv_polynomial.eval_mem -> MvPolynomial.eval_mem is a dubious translation:
-lean 3 declaration is
- forall {σ : Type.{u1}} {S : Type.{u2}} {subS : Type.{u3}} [_inst_3 : CommSemiring.{u2} S] [_inst_4 : SetLike.{u3, u2} subS S] [_inst_5 : SubsemiringClass.{u2, u3} subS S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) _inst_4] {p : MvPolynomial.{u1, u2} σ S _inst_3} {s : subS}, (forall (i : Finsupp.{u1, 0} σ Nat Nat.hasZero), (Membership.Mem.{u1, u1} (Finsupp.{u1, 0} σ Nat Nat.hasZero) (Finset.{u1} (Finsupp.{u1, 0} σ Nat Nat.hasZero)) (Finset.hasMem.{u1} (Finsupp.{u1, 0} σ Nat Nat.hasZero)) i (MvPolynomial.support.{u2, u1} S σ _inst_3 p)) -> (Membership.Mem.{u2, u3} S subS (SetLike.hasMem.{u3, u2} subS S _inst_4) (MvPolynomial.coeff.{u2, u1} S σ _inst_3 i p) s)) -> (forall {v : σ -> S}, (forall (i : σ), Membership.Mem.{u2, u3} S subS (SetLike.hasMem.{u3, u2} subS S _inst_4) (v i) s) -> (Membership.Mem.{u2, u3} S subS (SetLike.hasMem.{u3, u2} subS S _inst_4) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ (max u1 u2)) (succ u2)} (RingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ S _inst_3) S (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ S _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ S _inst_3) (MvPolynomial.commSemiring.{u2, u1} S σ _inst_3))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (fun (_x : RingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ S _inst_3) S (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ S _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ S _inst_3) (MvPolynomial.commSemiring.{u2, u1} S σ _inst_3))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) => (MvPolynomial.{u1, u2} σ S _inst_3) -> S) (RingHom.hasCoeToFun.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ S _inst_3) S (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ S _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ S _inst_3) (MvPolynomial.commSemiring.{u2, u1} S σ _inst_3))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (MvPolynomial.eval.{u2, u1} S σ _inst_3 v) p) s))
-but is expected to have type
- forall {σ : Type.{u3}} {S : Type.{u2}} {subS : Type.{u1}} [_inst_3 : CommSemiring.{u2} S] [_inst_4 : SetLike.{u1, u2} subS S] [_inst_5 : SubsemiringClass.{u2, u1} subS S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) _inst_4] {p : MvPolynomial.{u3, u2} σ S _inst_3} {s : subS}, (forall (i : Finsupp.{u3, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)), (Membership.mem.{u3, u3} (Finsupp.{u3, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finset.{u3} (Finsupp.{u3, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instMembershipFinset.{u3} (Finsupp.{u3, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) i (MvPolynomial.support.{u2, u3} S σ _inst_3 p)) -> (Membership.mem.{u2, u1} S subS (SetLike.instMembership.{u1, u2} subS S _inst_4) (MvPolynomial.coeff.{u2, u3} S σ _inst_3 i p) s)) -> (forall {v : σ -> S}, (forall (i : σ), Membership.mem.{u2, u1} S subS (SetLike.instMembership.{u1, u2} subS S _inst_4) (v i) s) -> (Membership.mem.{u2, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u3, u2} σ S _inst_3) => S) p) subS (SetLike.instMembership.{u1, u2} subS S _inst_4) (FunLike.coe.{max (succ u3) (succ u2), max (succ u3) (succ u2), succ u2} (RingHom.{max u2 u3, u2} (MvPolynomial.{u3, u2} σ S _inst_3) S (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ S _inst_3) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ S _inst_3) (MvPolynomial.commSemiring.{u2, u3} S σ _inst_3))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (MvPolynomial.{u3, u2} σ S _inst_3) (fun (_x : MvPolynomial.{u3, u2} σ S _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u3, u2} σ S _inst_3) => S) _x) (MulHomClass.toFunLike.{max u3 u2, max u3 u2, u2} (RingHom.{max u2 u3, u2} (MvPolynomial.{u3, u2} σ S _inst_3) S (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ S _inst_3) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ S _inst_3) (MvPolynomial.commSemiring.{u2, u3} S σ _inst_3))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (MvPolynomial.{u3, u2} σ S _inst_3) S (NonUnitalNonAssocSemiring.toMul.{max u3 u2} (MvPolynomial.{u3, u2} σ S _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S _inst_3) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ S _inst_3) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ S _inst_3) (MvPolynomial.commSemiring.{u2, u3} S σ _inst_3))))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, max u3 u2, u2} (RingHom.{max u2 u3, u2} (MvPolynomial.{u3, u2} σ S _inst_3) S (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ S _inst_3) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ S _inst_3) (MvPolynomial.commSemiring.{u2, u3} S σ _inst_3))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (MvPolynomial.{u3, u2} σ S _inst_3) S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S _inst_3) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ S _inst_3) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ S _inst_3) (MvPolynomial.commSemiring.{u2, u3} S σ _inst_3)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, max u3 u2, u2} (RingHom.{max u2 u3, u2} (MvPolynomial.{u3, u2} σ S _inst_3) S (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ S _inst_3) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ S _inst_3) (MvPolynomial.commSemiring.{u2, u3} S σ _inst_3))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (MvPolynomial.{u3, u2} σ S _inst_3) S (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ S _inst_3) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ S _inst_3) (MvPolynomial.commSemiring.{u2, u3} S σ _inst_3))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (RingHom.instRingHomClassRingHom.{max u3 u2, u2} (MvPolynomial.{u3, u2} σ S _inst_3) S (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ S _inst_3) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ S _inst_3) (MvPolynomial.commSemiring.{u2, u3} S σ _inst_3))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))))) (MvPolynomial.eval.{u2, u3} S σ _inst_3 v) p) s))
+<too large>
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval_mem MvPolynomial.eval_memₓ'. -/
theorem eval_mem {p : MvPolynomial σ S} {s : subS} (hs : ∀ i ∈ p.support, p.coeff i ∈ s) {v : σ → S}
(hv : ∀ i, v i ∈ s) : MvPolynomial.eval v p ∈ s :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/8d33f09cd7089ecf074b4791907588245aec5d1b
@@ -179,7 +179,7 @@ def monomial (s : σ →₀ ℕ) : R →ₗ[R] MvPolynomial σ R :=
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (s : Finsupp.{u2, 0} σ Nat Nat.hasZero) (a : R), Eq.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} (Finsupp.{u2, 0} σ Nat Nat.hasZero) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (Finsupp.single.{u2, u1} (Finsupp.{u2, 0} σ Nat Nat.hasZero) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) s a) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) a)
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (a : R), Eq.{max (succ u2) (succ u1)} (Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (Finsupp.single.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)) s a) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a)
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (a : R), Eq.{max (succ u2) (succ u1)} (Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (Finsupp.single.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)) s a) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.single_eq_monomial MvPolynomial.single_eq_monomialₓ'. -/
theorem single_eq_monomial (s : σ →₀ ℕ) (a : R) : single s a = monomial s a :=
rfl
@@ -189,7 +189,7 @@ theorem single_eq_monomial (s : σ →₀ ℕ) (a : R) : single s a = monomial s
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {p : MvPolynomial.{u2, u1} σ R _inst_1} {q : MvPolynomial.{u2, u1} σ R _inst_1}, Eq.{succ (max u2 u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) p q) (Finsupp.sum.{u2, u1, max u2 u1} (Finsupp.{u2, 0} σ Nat Nat.hasZero) R (MvPolynomial.{u2, u1} σ R _inst_1) (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (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))))) p (fun (m : Finsupp.{u2, 0} σ Nat Nat.hasZero) (a : R) => Finsupp.sum.{u2, u1, max u2 u1} (Finsupp.{u2, 0} σ Nat Nat.hasZero) R (MvPolynomial.{u2, u1} σ R _inst_1) (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (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))))) q (fun (n : Finsupp.{u2, 0} σ Nat Nat.hasZero) (b : R) => coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 (HAdd.hAdd.{u2, u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (instHAdd.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.add.{u2, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) m n)) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) a b))))
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {p : MvPolynomial.{u1, u2} σ R _inst_1} {q : MvPolynomial.{u1, u2} σ R _inst_1}, Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u1, u2} σ R _inst_1) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) p q) (Finsupp.sum.{u1, u2, max u2 u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) p (fun (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (a : R) => Finsupp.sum.{u1, u2, max u2 u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) q (fun (n : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (b : R) => FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 (HAdd.hAdd.{u1, u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHAdd.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.add.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) m n)) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) a b))))
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {p : MvPolynomial.{u1, u2} σ R _inst_1} {q : MvPolynomial.{u1, u2} σ R _inst_1}, Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u1, u2} σ R _inst_1) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) p q) (Finsupp.sum.{u1, u2, max u2 u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) p (fun (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (a : R) => Finsupp.sum.{u1, u2, max u2 u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) q (fun (n : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (b : R) => FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 (HAdd.hAdd.{u1, u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHAdd.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.add.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) m n)) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) a b))))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.mul_def MvPolynomial.mul_defₓ'. -/
theorem mul_def : p * q = p.Sum fun m a => q.Sum fun n b => monomial (m + n) (a * b) :=
rfl
@@ -227,7 +227,7 @@ def X (n : σ) : MvPolynomial σ R :=
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {r : R}, (Ne.{succ u1} R r (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) -> (Function.Injective.{succ u2, max (succ u2) (succ u1)} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (MvPolynomial.{u2, u1} σ R _inst_1) (fun (s : Finsupp.{u2, 0} σ Nat Nat.hasZero) => coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) r))
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {r : R}, (Ne.{succ u2} R r (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) -> (Function.Injective.{succ u1, max (succ u2) (succ u1)} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (fun (s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) r))
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {r : R}, (Ne.{succ u2} R r (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) -> (Function.Injective.{succ u1, max (succ u2) (succ u1)} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (fun (s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) r))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.monomial_left_injective MvPolynomial.monomial_left_injectiveₓ'. -/
theorem monomial_left_injective {r : R} (hr : r ≠ 0) :
Function.Injective fun s : σ →₀ ℕ => monomial s r :=
@@ -238,7 +238,7 @@ theorem monomial_left_injective {r : R} (hr : r ≠ 0) :
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {s : Finsupp.{u2, 0} σ Nat Nat.hasZero} {t : Finsupp.{u2, 0} σ Nat Nat.hasZero} {r : R}, (Ne.{succ u1} R r (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) -> (Iff (Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) r) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 t) r)) (Eq.{succ u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) s t))
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} {t : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} {r : R}, (Ne.{succ u2} R r (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) -> (Iff (Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) r) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 t) r)) (Eq.{succ u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) s t))
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} {t : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} {r : R}, (Ne.{succ u2} R r (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) -> (Iff (Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) r) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 t) r)) (Eq.{succ u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) s t))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.monomial_left_inj MvPolynomial.monomial_left_injₓ'. -/
@[simp]
theorem monomial_left_inj {s t : σ →₀ ℕ} {r : R} (hr : r ≠ 0) :
@@ -250,7 +250,7 @@ theorem monomial_left_inj {s t : σ →₀ ℕ} {r : R} (hr : r ≠ 0) :
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} {a : R} [_inst_1 : CommSemiring.{u1} R], Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 (OfNat.ofNat.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (OfNat.mk.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (Zero.zero.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.zero.{u2, 0} σ Nat Nat.hasZero))))) a)
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (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.2397 : 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) a) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 (OfNat.ofNat.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) 0 (Zero.toOfNat0.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.zero.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))))) a)
+ forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (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.2397 : 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) a) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 (OfNat.ofNat.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) 0 (Zero.toOfNat0.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.zero.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))))) a)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.C_apply MvPolynomial.C_applyₓ'. -/
theorem C_apply : (C a : MvPolynomial σ R) = monomial 0 a :=
rfl
@@ -281,7 +281,7 @@ theorem C_1 : C 1 = (1 : MvPolynomial σ R) :=
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} {a : R} {a' : R} {s : Finsupp.{u2, 0} σ Nat Nat.hasZero} [_inst_1 : CommSemiring.{u1} R], Eq.{succ (max u2 u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) a')) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) a a'))
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} {a' : R} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) a a')) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a') ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) a a')) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} 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 (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : 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) a) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a')) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) a a'))
+ forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} {a' : R} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) a a')) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a') ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) a a')) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} 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 (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : 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) a) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a')) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) a a'))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.C_mul_monomial MvPolynomial.C_mul_monomialₓ'. -/
theorem C_mul_monomial : C a * monomial s a' = monomial s (a * a') := by
simp [C_apply, monomial, single_mul_single]
@@ -414,7 +414,7 @@ theorem C_eq_smul_one : (C a : MvPolynomial σ R) = a • 1 := by rw [← C_mul'
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} {a : R} {s : Finsupp.{u2, 0} σ Nat Nat.hasZero} [_inst_1 : CommSemiring.{u1} R] {S₁ : Type.{u3}} [_inst_3 : SMulZeroClass.{u3, u1} S₁ R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))] (r : S₁), Eq.{succ (max u2 u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (SMul.smul.{u3, max u2 u1} S₁ (MvPolynomial.{u2, u1} σ R _inst_1) (SMulZeroClass.toHasSmul.{u3, max u2 u1} S₁ (MvPolynomial.{u2, u1} σ R _inst_1) (MulZeroClass.toHasZero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toMulZeroClass.{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)))))) (MvPolynomial.smulZeroClass.{u3, u1, u2} S₁ R σ _inst_1 _inst_3)) r (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) a)) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) (SMul.smul.{u3, u1} S₁ R (SMulZeroClass.toHasSmul.{u3, u1} S₁ R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) _inst_3) r a))
but is expected to have type
- forall {R : Type.{u3}} {σ : Type.{u1}} {a : R} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u3} R] {S₁ : Type.{u2}} [_inst_3 : SMulZeroClass.{u2, u3} S₁ R (CommMonoidWithZero.toZero.{u3} R (CommSemiring.toCommMonoidWithZero.{u3} R _inst_1))] (r : S₁), Eq.{max (succ u3) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (HSMul.hSMul.{u2, max u3 u1, max u3 u1} S₁ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (instHSMul.{u2, max u3 u1} S₁ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (SMulZeroClass.toSMul.{u2, max u3 u1} S₁ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (CommMonoidWithZero.toZero.{max u3 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (CommSemiring.toCommMonoidWithZero.{max u3 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (MvPolynomial.smulZeroClass.{u2, u3, u1} S₁ R σ _inst_1 _inst_3))) r (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearMap.{u3, u3, u3, max u3 u1} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) 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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u3} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 s) a)) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearMap.{u3, u3, u3, max u3 u1} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) 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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u3} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 s) (HSMul.hSMul.{u2, u3, u3} S₁ R R (instHSMul.{u2, u3} S₁ R (SMulZeroClass.toSMul.{u2, u3} S₁ R (CommMonoidWithZero.toZero.{u3} R (CommSemiring.toCommMonoidWithZero.{u3} R _inst_1)) _inst_3)) r a))
+ forall {R : Type.{u3}} {σ : Type.{u1}} {a : R} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u3} R] {S₁ : Type.{u2}} [_inst_3 : SMulZeroClass.{u2, u3} S₁ R (CommMonoidWithZero.toZero.{u3} R (CommSemiring.toCommMonoidWithZero.{u3} R _inst_1))] (r : S₁), Eq.{max (succ u3) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (HSMul.hSMul.{u2, max u3 u1, max u3 u1} S₁ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (instHSMul.{u2, max u3 u1} S₁ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (SMulZeroClass.toSMul.{u2, max u3 u1} S₁ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (CommMonoidWithZero.toZero.{max u3 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (CommSemiring.toCommMonoidWithZero.{max u3 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (MvPolynomial.smulZeroClass.{u2, u3, u1} S₁ R σ _inst_1 _inst_3))) r (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearMap.{u3, u3, u3, max u3 u1} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) 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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u3} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 s) a)) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearMap.{u3, u3, u3, max u3 u1} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) 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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u3} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 s) (HSMul.hSMul.{u2, u3, u3} S₁ R R (instHSMul.{u2, u3} S₁ R (SMulZeroClass.toSMul.{u2, u3} S₁ R (CommMonoidWithZero.toZero.{u3} R (CommSemiring.toCommMonoidWithZero.{u3} R _inst_1)) _inst_3)) r a))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.smul_monomial MvPolynomial.smul_monomialₓ'. -/
theorem smul_monomial {S₁ : Type _} [SMulZeroClass S₁ R] (r : S₁) :
r • monomial s a = monomial s (r • a) :=
@@ -446,7 +446,7 @@ theorem X_inj [Nontrivial R] (m n : σ) : X m = (X n : MvPolynomial σ R) ↔ m
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} {a : R} {e : Nat} {s : Finsupp.{u2, 0} σ Nat Nat.hasZero} [_inst_1 : CommSemiring.{u1} R], Eq.{succ (max u2 u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (HPow.hPow.{max u2 u1, 0, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) Nat (MvPolynomial.{u2, u1} σ R _inst_1) (instHPow.{max u2 u1, 0} (MvPolynomial.{u2, u1} σ R _inst_1) Nat (Monoid.Pow.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MonoidWithZero.toMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) a) e) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 (SMul.smul.{0, u2} Nat (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.hasNatScalar.{u2, 0} σ Nat Nat.addMonoid) e s)) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) a e))
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} {e : Nat} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (HPow.hPow.{max u2 u1, 0, max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) Nat ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (instHPow.{max u2 u1, 0} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) Nat (Monoid.Pow.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MonoidWithZero.toMonoid.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toMonoidWithZero.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a) e) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 (HSMul.hSMul.{0, u1, u1} Nat (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHSMul.{0, u1} Nat (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.hasNatScalar.{u1, 0} σ Nat Nat.addMonoid)) e s)) (HPow.hPow.{u2, 0, u2} R Nat R (instHPow.{u2, 0} R Nat (Monoid.Pow.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) a e))
+ forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} {e : Nat} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (HPow.hPow.{max u2 u1, 0, max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) Nat ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (instHPow.{max u2 u1, 0} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) Nat (Monoid.Pow.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MonoidWithZero.toMonoid.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toMonoidWithZero.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a) e) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 (HSMul.hSMul.{0, u1, u1} Nat (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHSMul.{0, u1} Nat (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.hasNatScalar.{u1, 0} σ Nat Nat.addMonoid)) e s)) (HPow.hPow.{u2, 0, u2} R Nat R (instHPow.{u2, 0} R Nat (Monoid.Pow.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) a e))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.monomial_pow MvPolynomial.monomial_powₓ'. -/
theorem monomial_pow : monomial s a ^ e = monomial (e • s) (a ^ e) :=
AddMonoidAlgebra.single_pow e
@@ -456,7 +456,7 @@ theorem monomial_pow : monomial s a ^ e = monomial (e • s) (a ^ e) :=
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {s : Finsupp.{u2, 0} σ Nat Nat.hasZero} {s' : Finsupp.{u2, 0} σ Nat Nat.hasZero} {a : R} {b : R}, Eq.{succ (max u2 u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) a) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s') b)) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 (HAdd.hAdd.{u2, u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (instHAdd.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.add.{u2, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) s s')) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) a b))
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} {s' : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} {a : R} {b : R}, Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) b) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s') b)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 (HAdd.hAdd.{u1, u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHAdd.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.add.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) s s')) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) a b))
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} {s' : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} {a : R} {b : R}, Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) b) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s') b)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 (HAdd.hAdd.{u1, u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHAdd.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.add.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) s s')) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) a b))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.monomial_mul MvPolynomial.monomial_mulₓ'. -/
@[simp]
theorem monomial_mul {s s' : σ →₀ ℕ} {a b : R} :
@@ -479,7 +479,7 @@ variable {σ R}
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} {s : Finsupp.{u2, 0} σ Nat Nat.hasZero} [_inst_1 : CommSemiring.{u1} R], Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ (max u2 u1)) (succ u2), max (succ u2) (succ (max u2 u1))} (MonoidHom.{u2, max u2 u1} (Multiplicative.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (MvPolynomial.{u2, u1} σ R _inst_1) (Multiplicative.mulOneClass.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.addZeroClass.{u2, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (MulZeroOneClass.toMulOneClass.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toMulZeroOneClass.{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)))))) (fun (_x : MonoidHom.{u2, max u2 u1} (Multiplicative.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (MvPolynomial.{u2, u1} σ R _inst_1) (Multiplicative.mulOneClass.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.addZeroClass.{u2, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (MulZeroOneClass.toMulOneClass.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toMulZeroOneClass.{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)))))) => (Multiplicative.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) -> (MvPolynomial.{u2, u1} σ R _inst_1)) (MonoidHom.hasCoeToFun.{u2, max u2 u1} (Multiplicative.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (MvPolynomial.{u2, u1} σ R _inst_1) (Multiplicative.mulOneClass.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.addZeroClass.{u2, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (MulZeroOneClass.toMulOneClass.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toMulZeroOneClass.{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)))))) (MvPolynomial.monomialOneHom.{u1, u2} R σ _inst_1) s) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) => MvPolynomial.{u1, u2} σ R _inst_1) s) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (MonoidHom.{u1, max u2 u1} (Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.{u1, u2} σ R _inst_1) (Multiplicative.mulOneClass.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (MulZeroOneClass.toMulOneClass.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (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)))))) (Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (fun (_x : Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} (Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.{u1, u2} σ R _inst_1) (Multiplicative.mulOneClass.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (MulZeroOneClass.toMulOneClass.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (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)))))) (Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.{u1, u2} σ R _inst_1) (MulOneClass.toMul.{u1} (Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Multiplicative.mulOneClass.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)))) (MulOneClass.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MulZeroOneClass.toMulOneClass.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (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)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} (Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.{u1, u2} σ R _inst_1) (Multiplicative.mulOneClass.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (MulZeroOneClass.toMulOneClass.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (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)))))) (Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.{u1, u2} σ R _inst_1) (Multiplicative.mulOneClass.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (MulZeroOneClass.toMulOneClass.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (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))))) (MonoidHom.monoidHomClass.{u1, max u2 u1} (Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.{u1, u2} σ R _inst_1) (Multiplicative.mulOneClass.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (MulZeroOneClass.toMulOneClass.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (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)))))))) (MvPolynomial.monomialOneHom.{u2, u1} R σ _inst_1) s) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))
+ forall {R : Type.{u2}} {σ : Type.{u1}} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) => MvPolynomial.{u1, u2} σ R _inst_1) s) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (MonoidHom.{u1, max u2 u1} (Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.{u1, u2} σ R _inst_1) (Multiplicative.mulOneClass.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (MulZeroOneClass.toMulOneClass.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (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)))))) (Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (fun (_x : Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} (Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.{u1, u2} σ R _inst_1) (Multiplicative.mulOneClass.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (MulZeroOneClass.toMulOneClass.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (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)))))) (Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.{u1, u2} σ R _inst_1) (MulOneClass.toMul.{u1} (Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Multiplicative.mulOneClass.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)))) (MulOneClass.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MulZeroOneClass.toMulOneClass.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (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)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} (Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.{u1, u2} σ R _inst_1) (Multiplicative.mulOneClass.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (MulZeroOneClass.toMulOneClass.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (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)))))) (Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.{u1, u2} σ R _inst_1) (Multiplicative.mulOneClass.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (MulZeroOneClass.toMulOneClass.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (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))))) (MonoidHom.monoidHomClass.{u1, max u2 u1} (Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.{u1, u2} σ R _inst_1) (Multiplicative.mulOneClass.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (MulZeroOneClass.toMulOneClass.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (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)))))))) (MvPolynomial.monomialOneHom.{u2, u1} R σ _inst_1) s) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.monomial_one_hom_apply MvPolynomial.monomialOneHom_applyₓ'. -/
@[simp]
theorem monomialOneHom_apply : monomialOneHom R σ s = (monomial s 1 : MvPolynomial σ R) :=
@@ -490,7 +490,7 @@ theorem monomialOneHom_apply : monomialOneHom R σ s = (monomial s 1 : MvPolynom
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} {e : Nat} {n : σ} [_inst_1 : CommSemiring.{u1} R], Eq.{succ (max u2 u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (HPow.hPow.{max u2 u1, 0, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) Nat (MvPolynomial.{u2, u1} σ R _inst_1) (instHPow.{max u2 u1, 0} (MvPolynomial.{u2, u1} σ R _inst_1) Nat (Monoid.Pow.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MonoidWithZero.toMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (MvPolynomial.X.{u1, u2} R σ _inst_1 n) e) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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.single.{u2, 0} σ Nat Nat.hasZero n e)) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} {e : Nat} {n : σ} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u1, u2} σ R _inst_1) (HPow.hPow.{max u1 u2, 0, max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (MvPolynomial.{u1, u2} σ R _inst_1) (instHPow.{max u1 u2, 0} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (Monoid.Pow.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (MvPolynomial.X.{u2, u1} R σ _inst_1 n) e) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 (Finsupp.single.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) n e)) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))
+ forall {R : Type.{u2}} {σ : Type.{u1}} {e : Nat} {n : σ} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u1, u2} σ R _inst_1) (HPow.hPow.{max u1 u2, 0, max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (MvPolynomial.{u1, u2} σ R _inst_1) (instHPow.{max u1 u2, 0} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (Monoid.Pow.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (MvPolynomial.X.{u2, u1} R σ _inst_1 n) e) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 (Finsupp.single.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) n e)) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.X_pow_eq_monomial MvPolynomial.X_pow_eq_monomialₓ'. -/
theorem X_pow_eq_monomial : X n ^ e = monomial (single n e) (1 : R) := by simp [X, monomial_pow]
#align mv_polynomial.X_pow_eq_monomial MvPolynomial.X_pow_eq_monomial
@@ -499,7 +499,7 @@ theorem X_pow_eq_monomial : X n ^ e = monomial (single n e) (1 : R) := by simp [
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} {a : R} {e : Nat} {n : σ} {s : Finsupp.{u2, 0} σ Nat Nat.hasZero} [_inst_1 : CommSemiring.{u1} R], Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 (HAdd.hAdd.{u2, u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (instHAdd.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.add.{u2, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) s (Finsupp.single.{u2, 0} σ Nat Nat.hasZero n e))) a) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) a) (HPow.hPow.{max u2 u1, 0, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) Nat (MvPolynomial.{u2, u1} σ R _inst_1) (instHPow.{max u2 u1, 0} (MvPolynomial.{u2, u1} σ R _inst_1) Nat (Monoid.Pow.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MonoidWithZero.toMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (MvPolynomial.X.{u1, u2} R σ _inst_1 n) e))
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} {e : Nat} {n : σ} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 (HAdd.hAdd.{u1, u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHAdd.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.add.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) s (Finsupp.single.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) n e))) a) (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a) (HPow.hPow.{max u1 u2, 0, max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (MvPolynomial.{u1, u2} σ R _inst_1) (instHPow.{max u1 u2, 0} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (Monoid.Pow.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (MvPolynomial.X.{u2, u1} R σ _inst_1 n) e))
+ forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} {e : Nat} {n : σ} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 (HAdd.hAdd.{u1, u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHAdd.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.add.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) s (Finsupp.single.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) n e))) a) (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a) (HPow.hPow.{max u1 u2, 0, max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (MvPolynomial.{u1, u2} σ R _inst_1) (instHPow.{max u1 u2, 0} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (Monoid.Pow.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (MvPolynomial.X.{u2, u1} R σ _inst_1 n) e))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.monomial_add_single MvPolynomial.monomial_add_singleₓ'. -/
theorem monomial_add_single : monomial (s + single n e) a = monomial s a * X n ^ e := by
rw [X_pow_eq_monomial, monomial_mul, mul_one]
@@ -509,7 +509,7 @@ theorem monomial_add_single : monomial (s + single n e) a = monomial s a * X n ^
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} {a : R} {e : Nat} {n : σ} {s : Finsupp.{u2, 0} σ Nat Nat.hasZero} [_inst_1 : CommSemiring.{u1} R], Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 (HAdd.hAdd.{u2, u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (instHAdd.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.add.{u2, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Finsupp.single.{u2, 0} σ Nat Nat.hasZero n e) s)) a) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (HPow.hPow.{max u2 u1, 0, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) Nat (MvPolynomial.{u2, u1} σ R _inst_1) (instHPow.{max u2 u1, 0} (MvPolynomial.{u2, u1} σ R _inst_1) Nat (Monoid.Pow.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MonoidWithZero.toMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (MvPolynomial.X.{u1, u2} R σ _inst_1 n) e) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) a))
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} {e : Nat} {n : σ} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 (HAdd.hAdd.{u1, u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHAdd.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.add.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Finsupp.single.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) n e) s)) a) (HMul.hMul.{max u1 u2, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (instHMul.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) (HPow.hPow.{max u1 u2, 0, max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (MvPolynomial.{u1, u2} σ R _inst_1) (instHPow.{max u1 u2, 0} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (Monoid.Pow.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (MvPolynomial.X.{u2, u1} R σ _inst_1 n) e) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a))
+ forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} {e : Nat} {n : σ} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 (HAdd.hAdd.{u1, u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHAdd.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.add.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Finsupp.single.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) n e) s)) a) (HMul.hMul.{max u1 u2, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (instHMul.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) (HPow.hPow.{max u1 u2, 0, max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (MvPolynomial.{u1, u2} σ R _inst_1) (instHPow.{max u1 u2, 0} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (Monoid.Pow.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (MvPolynomial.X.{u2, u1} R σ _inst_1 n) e) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.monomial_single_add MvPolynomial.monomial_single_addₓ'. -/
theorem monomial_single_add : monomial (single n e + s) a = X n ^ e * monomial s a := by
rw [X_pow_eq_monomial, monomial_mul, one_mul]
@@ -519,7 +519,7 @@ theorem monomial_single_add : monomial (single n e + s) a = X n ^ e * monomial s
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {s : σ} {a : R} {n : Nat}, Eq.{succ (max u2 u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a) (HPow.hPow.{max u2 u1, 0, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) Nat (MvPolynomial.{u2, u1} σ R _inst_1) (instHPow.{max u2 u1, 0} (MvPolynomial.{u2, u1} σ R _inst_1) Nat (Monoid.Pow.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MonoidWithZero.toMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (MvPolynomial.X.{u1, u2} R σ _inst_1 s) n)) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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.single.{u2, 0} σ Nat Nat.hasZero s n)) a)
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {s : σ} {a : R} {n : Nat}, Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} 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 (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : 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) a) (HPow.hPow.{max u1 u2, 0, max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (MvPolynomial.{u1, u2} σ R _inst_1) (instHPow.{max u1 u2, 0} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (Monoid.Pow.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (MvPolynomial.X.{u2, u1} R σ _inst_1 s) n)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 (Finsupp.single.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) s n)) a)
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {s : σ} {a : R} {n : Nat}, Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} 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 (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : 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) a) (HPow.hPow.{max u1 u2, 0, max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (MvPolynomial.{u1, u2} σ R _inst_1) (instHPow.{max u1 u2, 0} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (Monoid.Pow.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (MvPolynomial.X.{u2, u1} R σ _inst_1 s) n)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 (Finsupp.single.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) s n)) a)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.C_mul_X_pow_eq_monomial MvPolynomial.C_mul_X_pow_eq_monomialₓ'. -/
theorem C_mul_X_pow_eq_monomial {s : σ} {a : R} {n : ℕ} : C a * X s ^ n = monomial (single s n) a :=
by rw [← zero_add (single s n), monomial_add_single, C_apply]
@@ -529,7 +529,7 @@ theorem C_mul_X_pow_eq_monomial {s : σ} {a : R} {n : ℕ} : C a * X s ^ n = mon
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {s : σ} {a : R}, Eq.{succ (max u2 u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a) (MvPolynomial.X.{u1, u2} R σ _inst_1 s)) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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.single.{u2, 0} σ Nat Nat.hasZero s (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) a)
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {s : σ} {a : R}, Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} 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 (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : 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) a) (MvPolynomial.X.{u2, u1} R σ _inst_1 s)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 (Finsupp.single.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) s (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) a)
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {s : σ} {a : R}, Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} 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 (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : 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) a) (MvPolynomial.X.{u2, u1} R σ _inst_1 s)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 (Finsupp.single.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) s (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) a)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.C_mul_X_eq_monomial MvPolynomial.C_mul_X_eq_monomialₓ'. -/
theorem C_mul_X_eq_monomial {s : σ} {a : R} : C a * X s = monomial (single s 1) a := by
rw [← C_mul_X_pow_eq_monomial, pow_one]
@@ -539,7 +539,7 @@ theorem C_mul_X_eq_monomial {s : σ} {a : R} : C a * X s = monomial (single s 1)
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {s : Finsupp.{u2, 0} σ Nat Nat.hasZero}, Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) (OfNat.ofNat.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) 0 (OfNat.mk.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) 0 (Zero.zero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MulZeroClass.toHasZero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toMulZeroClass.{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)))))))))
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)}, Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) (OfNat.ofNat.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) 0 (Zero.toOfNat0.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) (CommMonoidWithZero.toZero.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) (CommSemiring.toCommMonoidWithZero.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))))
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)}, Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) (OfNat.ofNat.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) 0 (Zero.toOfNat0.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) (CommMonoidWithZero.toZero.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) (CommSemiring.toCommMonoidWithZero.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.monomial_zero MvPolynomial.monomial_zeroₓ'. -/
@[simp]
theorem monomial_zero {s : σ →₀ ℕ} : monomial s (0 : R) = 0 :=
@@ -550,7 +550,7 @@ theorem monomial_zero {s : σ →₀ ℕ} : monomial s (0 : R) = 0 :=
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R], Eq.{max (succ u2) (succ u1)} ((fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (MvPolynomial.monomial.{u1, u2} R σ _inst_1 (OfNat.ofNat.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (OfNat.mk.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (Zero.zero.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.zero.{u2, 0} σ Nat Nat.hasZero)))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 (OfNat.ofNat.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (OfNat.mk.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (Zero.zero.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.zero.{u2, 0} σ Nat Nat.hasZero)))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1))
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} (forall (a : R), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 (OfNat.ofNat.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) 0 (Zero.toOfNat0.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.zero.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)))))) (FunLike.coe.{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.2397 : 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))
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} (forall (a : R), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 (OfNat.ofNat.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) 0 (Zero.toOfNat0.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.zero.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)))))) (FunLike.coe.{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.2397 : 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))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.monomial_zero' MvPolynomial.monomial_zero'ₓ'. -/
@[simp]
theorem monomial_zero' : (monomial (0 : σ →₀ ℕ) : R → MvPolynomial σ R) = C :=
@@ -561,7 +561,7 @@ theorem monomial_zero' : (monomial (0 : σ →₀ ℕ) : R → MvPolynomial σ R
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {s : Finsupp.{u2, 0} σ Nat Nat.hasZero} {b : R}, Iff (Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) b) (OfNat.ofNat.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) 0 (OfNat.mk.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) 0 (Zero.zero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MulZeroClass.toHasZero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toMulZeroClass.{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)))))))))) (Eq.{succ u1} R b (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} {b : R}, Iff (Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) b) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) b) (OfNat.ofNat.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) b) 0 (Zero.toOfNat0.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) b) (CommMonoidWithZero.toZero.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) b) (CommSemiring.toCommMonoidWithZero.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) b) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))))) (Eq.{succ u2} R b (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)))))
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} {b : R}, Iff (Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) b) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) b) (OfNat.ofNat.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) b) 0 (Zero.toOfNat0.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) b) (CommMonoidWithZero.toZero.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) b) (CommSemiring.toCommMonoidWithZero.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) b) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))))) (Eq.{succ u2} R b (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.monomial_eq_zero MvPolynomial.monomial_eq_zeroₓ'. -/
@[simp]
theorem monomial_eq_zero {s : σ →₀ ℕ} {b : R} : monomial s b = 0 ↔ b = 0 :=
@@ -572,7 +572,7 @@ theorem monomial_eq_zero {s : σ →₀ ℕ} {b : R} : monomial s b = 0 ↔ b =
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {A : Type.{u3}} [_inst_3 : AddCommMonoid.{u3} A] {u : Finsupp.{u2, 0} σ Nat Nat.hasZero} {r : R} {b : (Finsupp.{u2, 0} σ Nat Nat.hasZero) -> R -> A}, (Eq.{succ u3} A (b u (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) (OfNat.ofNat.{u3} A 0 (OfNat.mk.{u3} A 0 (Zero.zero.{u3} A (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A _inst_3))))))) -> (Eq.{succ u3} A (Finsupp.sum.{u2, u1, u3} (Finsupp.{u2, 0} σ Nat Nat.hasZero) R A (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) _inst_3 (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 u) r) b) (b u r))
but is expected to have type
- forall {R : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] {A : Type.{u2}} [_inst_3 : AddCommMonoid.{u2} A] {u : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} {r : R} {b : (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) -> R -> A}, (Eq.{succ u2} A (b u (OfNat.ofNat.{u3} R 0 (Zero.toOfNat0.{u3} R (CommMonoidWithZero.toZero.{u3} R (CommSemiring.toCommMonoidWithZero.{u3} R _inst_1))))) (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (AddMonoid.toZero.{u2} A (AddCommMonoid.toAddMonoid.{u2} A _inst_3))))) -> (Eq.{succ u2} A (Finsupp.sum.{u1, u3, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R A (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) _inst_3 (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearMap.{u3, u3, u3, max u3 u1} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) 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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u3} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 u) r) b) (b u r))
+ forall {R : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] {A : Type.{u2}} [_inst_3 : AddCommMonoid.{u2} A] {u : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} {r : R} {b : (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) -> R -> A}, (Eq.{succ u2} A (b u (OfNat.ofNat.{u3} R 0 (Zero.toOfNat0.{u3} R (CommMonoidWithZero.toZero.{u3} R (CommSemiring.toCommMonoidWithZero.{u3} R _inst_1))))) (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (AddMonoid.toZero.{u2} A (AddCommMonoid.toAddMonoid.{u2} A _inst_3))))) -> (Eq.{succ u2} A (Finsupp.sum.{u1, u3, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R A (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) _inst_3 (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearMap.{u3, u3, u3, max u3 u1} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) 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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u3} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 u) r) b) (b u r))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.sum_monomial_eq MvPolynomial.sum_monomial_eqₓ'. -/
@[simp]
theorem sum_monomial_eq {A : Type _} [AddCommMonoid A] {u : σ →₀ ℕ} {r : R} {b : (σ →₀ ℕ) → R → A}
@@ -596,7 +596,7 @@ theorem sum_C {A : Type _} [AddCommMonoid A] {b : (σ →₀ ℕ) → R → A} (
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {α : Type.{u3}} (s : Finset.{u3} α) (f : α -> (Finsupp.{u2, 0} σ Nat Nat.hasZero)), Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 (Finset.sum.{u2, u3} (Finsupp.{u2, 0} σ Nat Nat.hasZero) α (Finsupp.addCommMonoid.{u2, 0} σ Nat Nat.addCommMonoid) s (fun (i : α) => f i))) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) (Finset.prod.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) α (CommSemiring.toCommMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) s (fun (i : α) => coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 (f i)) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))))
but is expected to have type
- forall {R : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] {α : Type.{u2}} (s : Finset.{u2} α) (f : α -> (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))), Eq.{max (succ u3) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u3} σ R _inst_1) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearMap.{u3, u3, u3, max u3 u1} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) 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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u3} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 (Finset.sum.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) α (Finsupp.addCommMonoid.{u1, 0} σ Nat Nat.addCommMonoid) s (fun (i : α) => f i))) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) (Finset.prod.{max u1 u3, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u3} σ R _inst_1) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) α (CommSemiring.toCommMonoid.{max u1 u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u3} σ R _inst_1) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) s (fun (i : α) => FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearMap.{u3, u3, u3, max u3 u1} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) 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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u3} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 (f i)) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))))
+ forall {R : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] {α : Type.{u2}} (s : Finset.{u2} α) (f : α -> (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))), Eq.{max (succ u3) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u3} σ R _inst_1) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearMap.{u3, u3, u3, max u3 u1} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) 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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u3} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 (Finset.sum.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) α (Finsupp.addCommMonoid.{u1, 0} σ Nat Nat.addCommMonoid) s (fun (i : α) => f i))) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) (Finset.prod.{max u1 u3, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u3} σ R _inst_1) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) α (CommSemiring.toCommMonoid.{max u1 u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u3} σ R _inst_1) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) s (fun (i : α) => FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearMap.{u3, u3, u3, max u3 u1} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) 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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u3} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 (f i)) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.monomial_sum_one MvPolynomial.monomial_sum_oneₓ'. -/
theorem monomial_sum_one {α : Type _} (s : Finset α) (f : α → σ →₀ ℕ) :
(monomial (∑ i in s, f i) 1 : MvPolynomial σ R) = ∏ i in s, monomial (f i) 1 :=
@@ -607,7 +607,7 @@ theorem monomial_sum_one {α : Type _} (s : Finset α) (f : α → σ →₀ ℕ
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {α : Type.{u3}} (s : Finset.{u3} α) (f : α -> (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (a : R), Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 (Finset.sum.{u2, u3} (Finsupp.{u2, 0} σ Nat Nat.hasZero) α (Finsupp.addCommMonoid.{u2, 0} σ Nat Nat.addCommMonoid) s (fun (i : α) => f i))) a) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a) (Finset.prod.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) α (CommSemiring.toCommMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) s (fun (i : α) => coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 (f i)) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))))
but is expected to have type
- forall {R : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] {α : Type.{u2}} (s : Finset.{u2} α) (f : α -> (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (a : R), Eq.{max (succ u3) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearMap.{u3, u3, u3, max u3 u1} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) 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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u3} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 (Finset.sum.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) α (Finsupp.addCommMonoid.{u1, 0} σ Nat Nat.addCommMonoid) s (fun (i : α) => f i))) a) (HMul.hMul.{max u3 u1, max u1 u3, max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u3} σ R _inst_1) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (instHMul.{max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (CommSemiring.toSemiring.{max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u3} σ R _inst_1) _x) (MulHomClass.toFunLike.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (RingHom.instRingHomClassRingHom.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (MvPolynomial.C.{u3, u1} R σ _inst_1) a) (Finset.prod.{max u1 u3, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u3} σ R _inst_1) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) α (CommSemiring.toCommMonoid.{max u1 u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u3} σ R _inst_1) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) s (fun (i : α) => FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearMap.{u3, u3, u3, max u3 u1} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) 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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u3} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 (f i)) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))))))
+ forall {R : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] {α : Type.{u2}} (s : Finset.{u2} α) (f : α -> (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (a : R), Eq.{max (succ u3) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearMap.{u3, u3, u3, max u3 u1} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) 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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u3} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 (Finset.sum.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) α (Finsupp.addCommMonoid.{u1, 0} σ Nat Nat.addCommMonoid) s (fun (i : α) => f i))) a) (HMul.hMul.{max u3 u1, max u1 u3, max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u3} σ R _inst_1) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (instHMul.{max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (CommSemiring.toSemiring.{max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u3} σ R _inst_1) _x) (MulHomClass.toFunLike.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (RingHom.instRingHomClassRingHom.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (MvPolynomial.C.{u3, u1} R σ _inst_1) a) (Finset.prod.{max u1 u3, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u3} σ R _inst_1) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) α (CommSemiring.toCommMonoid.{max u1 u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u3} σ R _inst_1) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) s (fun (i : α) => FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearMap.{u3, u3, u3, max u3 u1} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) 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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u3} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 (f i)) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))))))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.monomial_sum_index MvPolynomial.monomial_sum_indexₓ'. -/
theorem monomial_sum_index {α : Type _} (s : Finset α) (f : α → σ →₀ ℕ) (a : R) :
monomial (∑ i in s, f i) a = C a * ∏ i in s, monomial (f i) 1 := by
@@ -618,7 +618,7 @@ theorem monomial_sum_index {α : Type _} (s : Finset α) (f : α → σ →₀
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {α : Type.{u3}} {β : Type.{u4}} [_inst_3 : Zero.{u4} β] (f : Finsupp.{u3, u4} α β _inst_3) (g : α -> β -> (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (a : R), Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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.sum.{u3, u4, u2} α β (Finsupp.{u2, 0} σ Nat Nat.hasZero) _inst_3 (Finsupp.addCommMonoid.{u2, 0} σ Nat Nat.addCommMonoid) f g)) a) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a) (Finsupp.prod.{u3, u4, max u2 u1} α β (MvPolynomial.{u2, u1} σ R _inst_1) _inst_3 (CommSemiring.toCommMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) f (fun (a : α) (b : β) => coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 (g a b)) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))))
but is expected to have type
- forall {R : Type.{u4}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u4} R] {α : Type.{u3}} {β : Type.{u2}} [_inst_3 : Zero.{u2} β] (f : Finsupp.{u3, u2} α β _inst_3) (g : α -> β -> (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (a : R), Eq.{max (succ u4) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u4} σ R _inst_1) a) (FunLike.coe.{max (succ u1) (succ u4), succ u4, max (succ u1) (succ u4)} (LinearMap.{u4, u4, u4, max u4 u1} R R (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) R (MvPolynomial.{u1, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (MvPolynomial.module.{u4, u4, u1} R R σ (CommSemiring.toSemiring.{u4} R _inst_1) _inst_1 (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u4} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u4, max u1 u4} R R R (MvPolynomial.{u1, u4} σ R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (MvPolynomial.module.{u4, u4, u1} R R σ (CommSemiring.toSemiring.{u4} R _inst_1) _inst_1 (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (MvPolynomial.monomial.{u4, u1} R σ _inst_1 (Finsupp.sum.{u3, u2, u1} α β (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) _inst_3 (Finsupp.addCommMonoid.{u1, 0} σ Nat Nat.addCommMonoid) f g)) a) (HMul.hMul.{max u4 u1, max u1 u4, max u4 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u4} σ R _inst_1) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u4} σ R _inst_1) (OfNat.ofNat.{u4} R 1 (One.toOfNat1.{u4} R (Semiring.toOne.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u4} σ R _inst_1) a) (instHMul.{max u4 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u4} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u4 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u4} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u4} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u4 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u4} σ R _inst_1) a) (CommSemiring.toSemiring.{max u4 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u4} σ R _inst_1) a) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1)))))) (FunLike.coe.{max (succ u1) (succ u4), succ u4, max (succ u1) (succ u4)} (RingHom.{u4, max u4 u1} R (MvPolynomial.{u1, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u4} σ R _inst_1) _x) (MulHomClass.toFunLike.{max u1 u4, u4, max u1 u4} (RingHom.{u4, max u4 u1} R (MvPolynomial.{u1, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u1, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (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))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u4, u4, max u1 u4} (RingHom.{u4, max u4 u1} R (MvPolynomial.{u1, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u1, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (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)))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u4, u4, max u1 u4} (RingHom.{u4, max u4 u1} R (MvPolynomial.{u1, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u1, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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))) (RingHom.instRingHomClassRingHom.{u4, max u1 u4} R (MvPolynomial.{u1, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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))))))) (MvPolynomial.C.{u4, u1} R σ _inst_1) a) (Finsupp.prod.{u3, u2, max u1 u4} α β ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u4} σ R _inst_1) (OfNat.ofNat.{u4} R 1 (One.toOfNat1.{u4} R (Semiring.toOne.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) _inst_3 (CommSemiring.toCommMonoid.{max u1 u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u4} σ R _inst_1) (OfNat.ofNat.{u4} R 1 (One.toOfNat1.{u4} R (Semiring.toOne.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1)) f (fun (a : α) (b : β) => FunLike.coe.{max (succ u1) (succ u4), succ u4, max (succ u1) (succ u4)} (LinearMap.{u4, u4, u4, max u4 u1} R R (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) R (MvPolynomial.{u1, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (MvPolynomial.module.{u4, u4, u1} R R σ (CommSemiring.toSemiring.{u4} R _inst_1) _inst_1 (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u4} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u4, max u1 u4} R R R (MvPolynomial.{u1, u4} σ R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (MvPolynomial.module.{u4, u4, u1} R R σ (CommSemiring.toSemiring.{u4} R _inst_1) _inst_1 (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (MvPolynomial.monomial.{u4, u1} R σ _inst_1 (g a b)) (OfNat.ofNat.{u4} R 1 (One.toOfNat1.{u4} R (Semiring.toOne.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))))))
+ forall {R : Type.{u4}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u4} R] {α : Type.{u3}} {β : Type.{u2}} [_inst_3 : Zero.{u2} β] (f : Finsupp.{u3, u2} α β _inst_3) (g : α -> β -> (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (a : R), Eq.{max (succ u4) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u4} σ R _inst_1) a) (FunLike.coe.{max (succ u1) (succ u4), succ u4, max (succ u1) (succ u4)} (LinearMap.{u4, u4, u4, max u4 u1} R R (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) R (MvPolynomial.{u1, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (MvPolynomial.module.{u4, u4, u1} R R σ (CommSemiring.toSemiring.{u4} R _inst_1) _inst_1 (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u4} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u4, max u1 u4} R R R (MvPolynomial.{u1, u4} σ R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (MvPolynomial.module.{u4, u4, u1} R R σ (CommSemiring.toSemiring.{u4} R _inst_1) _inst_1 (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (MvPolynomial.monomial.{u4, u1} R σ _inst_1 (Finsupp.sum.{u3, u2, u1} α β (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) _inst_3 (Finsupp.addCommMonoid.{u1, 0} σ Nat Nat.addCommMonoid) f g)) a) (HMul.hMul.{max u4 u1, max u1 u4, max u4 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u4} σ R _inst_1) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u4} σ R _inst_1) (OfNat.ofNat.{u4} R 1 (One.toOfNat1.{u4} R (Semiring.toOne.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u4} σ R _inst_1) a) (instHMul.{max u4 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u4} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u4 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u4} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u4} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u4 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u4} σ R _inst_1) a) (CommSemiring.toSemiring.{max u4 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u4} σ R _inst_1) a) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1)))))) (FunLike.coe.{max (succ u1) (succ u4), succ u4, max (succ u1) (succ u4)} (RingHom.{u4, max u4 u1} R (MvPolynomial.{u1, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u4} σ R _inst_1) _x) (MulHomClass.toFunLike.{max u1 u4, u4, max u1 u4} (RingHom.{u4, max u4 u1} R (MvPolynomial.{u1, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u1, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (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))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u4, u4, max u1 u4} (RingHom.{u4, max u4 u1} R (MvPolynomial.{u1, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u1, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (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)))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u4, u4, max u1 u4} (RingHom.{u4, max u4 u1} R (MvPolynomial.{u1, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u1, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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))) (RingHom.instRingHomClassRingHom.{u4, max u1 u4} R (MvPolynomial.{u1, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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))))))) (MvPolynomial.C.{u4, u1} R σ _inst_1) a) (Finsupp.prod.{u3, u2, max u1 u4} α β ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u4} σ R _inst_1) (OfNat.ofNat.{u4} R 1 (One.toOfNat1.{u4} R (Semiring.toOne.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) _inst_3 (CommSemiring.toCommMonoid.{max u1 u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u4} σ R _inst_1) (OfNat.ofNat.{u4} R 1 (One.toOfNat1.{u4} R (Semiring.toOne.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1)) f (fun (a : α) (b : β) => FunLike.coe.{max (succ u1) (succ u4), succ u4, max (succ u1) (succ u4)} (LinearMap.{u4, u4, u4, max u4 u1} R R (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) R (MvPolynomial.{u1, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (MvPolynomial.module.{u4, u4, u1} R R σ (CommSemiring.toSemiring.{u4} R _inst_1) _inst_1 (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u4} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u4, max u1 u4} R R R (MvPolynomial.{u1, u4} σ R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (MvPolynomial.module.{u4, u4, u1} R R σ (CommSemiring.toSemiring.{u4} R _inst_1) _inst_1 (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (MvPolynomial.monomial.{u4, u1} R σ _inst_1 (g a b)) (OfNat.ofNat.{u4} R 1 (One.toOfNat1.{u4} R (Semiring.toOne.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))))))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.monomial_finsupp_sum_index MvPolynomial.monomial_finsupp_sum_indexₓ'. -/
theorem monomial_finsupp_sum_index {α β : Type _} [Zero β] (f : α →₀ β) (g : α → β → σ →₀ ℕ)
(a : R) : monomial (f.Sum g) a = C a * f.Prod fun a b => monomial (g a b) 1 :=
@@ -629,7 +629,7 @@ theorem monomial_finsupp_sum_index {α β : Type _} [Zero β] (f : α →₀ β)
lean 3 declaration is
forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {α : Type.{u2}} (a₁ : Finsupp.{u2, 0} α Nat Nat.hasZero) (a₂ : Finsupp.{u2, 0} α Nat Nat.hasZero) (b₁ : R) (b₂ : R), Iff (Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} α R _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} α R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 a₁) b₁) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} α R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 a₂) b₂)) (Or (And (Eq.{succ u2} (Finsupp.{u2, 0} α Nat Nat.hasZero) a₁ a₂) (Eq.{succ u1} R b₁ b₂)) (And (Eq.{succ u1} R b₁ (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) (Eq.{succ u1} R b₂ (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))))
but is expected to have type
- forall {R : Type.{u2}} [_inst_1 : CommSemiring.{u2} R] {α : Type.{u1}} (a₁ : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (a₂ : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (b₁ : R) (b₂ : R), Iff (Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} α R _inst_1) b₁) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} α R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} α R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R α (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} α R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} α R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} α R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R α (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R α _inst_1 a₁) b₁) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} α R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} α R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R α (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} α R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} α R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} α R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R α (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R α _inst_1 a₂) b₂)) (Or (And (Eq.{succ u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) a₁ a₂) (Eq.{succ u2} R b₁ b₂)) (And (Eq.{succ u2} R b₁ (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) (Eq.{succ u2} R b₂ (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)))))))
+ forall {R : Type.{u2}} [_inst_1 : CommSemiring.{u2} R] {α : Type.{u1}} (a₁ : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (a₂ : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (b₁ : R) (b₂ : R), Iff (Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} α R _inst_1) b₁) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} α R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} α R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R α (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} α R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} α R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} α R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R α (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R α _inst_1 a₁) b₁) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} α R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} α R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R α (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} α R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} α R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} α R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R α (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R α _inst_1 a₂) b₂)) (Or (And (Eq.{succ u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) a₁ a₂) (Eq.{succ u2} R b₁ b₂)) (And (Eq.{succ u2} R b₁ (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) (Eq.{succ u2} R b₂ (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.monomial_eq_monomial_iff MvPolynomial.monomial_eq_monomial_iffₓ'. -/
theorem monomial_eq_monomial_iff {α : Type _} (a₁ a₂ : α →₀ ℕ) (b₁ b₂ : R) :
monomial a₁ b₁ = monomial a₂ b₂ ↔ a₁ = a₂ ∧ b₁ = b₂ ∨ b₁ = 0 ∧ b₂ = 0 :=
@@ -640,7 +640,7 @@ theorem monomial_eq_monomial_iff {α : Type _} (a₁ a₂ : α →₀ ℕ) (b₁
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} {a : R} {s : Finsupp.{u2, 0} σ Nat Nat.hasZero} [_inst_1 : CommSemiring.{u1} R], Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) a) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a) (Finsupp.prod.{u2, 0, max u2 u1} σ Nat (MvPolynomial.{u2, u1} σ R _inst_1) Nat.hasZero (CommSemiring.toCommMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) s (fun (n : σ) (e : Nat) => HPow.hPow.{max u2 u1, 0, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) Nat (MvPolynomial.{u2, u1} σ R _inst_1) (instHPow.{max u2 u1, 0} (MvPolynomial.{u2, u1} σ R _inst_1) Nat (Monoid.Pow.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MonoidWithZero.toMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (MvPolynomial.X.{u1, u2} R σ _inst_1 n) e)))
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} 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 (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : 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) a) (Finsupp.prod.{u1, 0, max u2 u1} σ Nat (MvPolynomial.{u1, u2} σ R _inst_1) (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (CommSemiring.toCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) s (fun (n : σ) (e : Nat) => HPow.hPow.{max u1 u2, 0, max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (MvPolynomial.{u1, u2} σ R _inst_1) (instHPow.{max u1 u2, 0} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (Monoid.Pow.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (MvPolynomial.X.{u2, u1} R σ _inst_1 n) e)))
+ forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} 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 (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : 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) a) (Finsupp.prod.{u1, 0, max u2 u1} σ Nat (MvPolynomial.{u1, u2} σ R _inst_1) (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (CommSemiring.toCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) s (fun (n : σ) (e : Nat) => HPow.hPow.{max u1 u2, 0, max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (MvPolynomial.{u1, u2} σ R _inst_1) (instHPow.{max u1 u2, 0} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (Monoid.Pow.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (MvPolynomial.X.{u2, u1} R σ _inst_1 n) e)))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.monomial_eq MvPolynomial.monomial_eqₓ'. -/
theorem monomial_eq : monomial s a = C a * (s.Prod fun n e => X n ^ e : MvPolynomial σ R) := by
simp only [X_pow_eq_monomial, ← monomial_finsupp_sum_index, Finsupp.sum_single]
@@ -650,7 +650,7 @@ theorem monomial_eq : monomial s a = C a * (s.Prod fun n e => X n ^ e : MvPolyno
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {M : (MvPolynomial.{u2, u1} σ R _inst_1) -> Prop}, (forall (a : R), M (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a)) -> (forall (p : MvPolynomial.{u2, u1} σ R _inst_1) (n : σ), (M p) -> (M (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) p (MvPolynomial.X.{u1, u2} R σ _inst_1 n)))) -> (forall (s : Finsupp.{u2, 0} σ Nat Nat.hasZero) (a : R), M (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) a))
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {M : (MvPolynomial.{u1, u2} σ R _inst_1) -> Prop}, (forall (a : R), M (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.2397 : 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) a)) -> (forall (p : MvPolynomial.{u1, u2} σ R _inst_1) (n : σ), (M p) -> (M (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) p (MvPolynomial.X.{u2, u1} R σ _inst_1 n)))) -> (forall (s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (a : R), M (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a))
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {M : (MvPolynomial.{u1, u2} σ R _inst_1) -> Prop}, (forall (a : R), M (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.2397 : 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) a)) -> (forall (p : MvPolynomial.{u1, u2} σ R _inst_1) (n : σ), (M p) -> (M (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) p (MvPolynomial.X.{u2, u1} R σ _inst_1 n)))) -> (forall (s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (a : R), M (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.induction_on_monomial MvPolynomial.induction_on_monomialₓ'. -/
theorem induction_on_monomial {M : MvPolynomial σ R → Prop} (h_C : ∀ a, M (C a))
(h_X : ∀ p n, M p → M (p * X n)) : ∀ s a, M (monomial s a) :=
@@ -673,7 +673,7 @@ theorem induction_on_monomial {M : MvPolynomial σ R → Prop} (h_C : ∀ a, M (
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {P : (MvPolynomial.{u2, u1} σ R _inst_1) -> Prop} (p : MvPolynomial.{u2, u1} σ R _inst_1), (forall (u : Finsupp.{u2, 0} σ Nat Nat.hasZero) (a : R), P (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 u) a)) -> (forall (p : MvPolynomial.{u2, u1} σ R _inst_1) (q : MvPolynomial.{u2, u1} σ R _inst_1), (P p) -> (P q) -> (P (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHAdd.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasAdd.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) p q))) -> (P p)
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {P : (MvPolynomial.{u1, u2} σ R _inst_1) -> Prop} (p : MvPolynomial.{u1, u2} σ R _inst_1), (forall (u : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (a : R), P (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 u) a)) -> (forall (p : MvPolynomial.{u1, u2} σ R _inst_1) (q : MvPolynomial.{u1, u2} σ R _inst_1), (P p) -> (P q) -> (P (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHAdd.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (Distrib.toAdd.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))))) p q))) -> (P p)
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {P : (MvPolynomial.{u1, u2} σ R _inst_1) -> Prop} (p : MvPolynomial.{u1, u2} σ R _inst_1), (forall (u : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (a : R), P (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 u) a)) -> (forall (p : MvPolynomial.{u1, u2} σ R _inst_1) (q : MvPolynomial.{u1, u2} σ R _inst_1), (P p) -> (P q) -> (P (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHAdd.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (Distrib.toAdd.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))))) p q))) -> (P p)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.induction_on' MvPolynomial.induction_on'ₓ'. -/
/-- Analog of `polynomial.induction_on'`.
To prove something about mv_polynomials,
@@ -693,7 +693,7 @@ theorem induction_on' {P : MvPolynomial σ R → Prop} (p : MvPolynomial σ R)
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {M : (MvPolynomial.{u2, u1} σ R _inst_1) -> Prop} (p : MvPolynomial.{u2, u1} σ R _inst_1), (forall (a : R), M (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a)) -> (forall (a : Finsupp.{u2, 0} σ Nat Nat.hasZero) (b : R) (f : Finsupp.{u2, u1} (Finsupp.{u2, 0} σ Nat Nat.hasZero) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))), (Not (Membership.Mem.{u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasMem.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) a (Finsupp.support.{u2, u1} (Finsupp.{u2, 0} σ Nat Nat.hasZero) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) f))) -> (Ne.{succ u1} R b (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) -> (M f) -> (M (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHAdd.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasAdd.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 a) b) f))) -> (M p)
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {M : (MvPolynomial.{u1, u2} σ R _inst_1) -> Prop} (p : MvPolynomial.{u1, u2} σ R _inst_1), (forall (a : R), M (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.2397 : 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) a)) -> (forall (a : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (b : R) (f : Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))), (Not (Membership.mem.{u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instMembershipFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) a (Finsupp.support.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)) f))) -> (Ne.{succ u2} R b (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) -> (M f) -> (M (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (instHAdd.{max u2 u1} (Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (Finsupp.add.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))))) ([mdata let_fun:1 (fun (this : Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) => this) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 a) b)]) f))) -> (M p)
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {M : (MvPolynomial.{u1, u2} σ R _inst_1) -> Prop} (p : MvPolynomial.{u1, u2} σ R _inst_1), (forall (a : R), M (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.2397 : 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) a)) -> (forall (a : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (b : R) (f : Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))), (Not (Membership.mem.{u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instMembershipFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) a (Finsupp.support.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)) f))) -> (Ne.{succ u2} R b (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) -> (M f) -> (M (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (instHAdd.{max u2 u1} (Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (Finsupp.add.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))))) ([mdata let_fun:1 (fun (this : Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) => this) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 a) b)]) f))) -> (M p)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.induction_on''' MvPolynomial.induction_on'''ₓ'. -/
/-- Similar to `mv_polynomial.induction_on` but only a weak form of `h_add` is required.-/
theorem induction_on''' {M : MvPolynomial σ R → Prop} (p : MvPolynomial σ R) (h_C : ∀ a, M (C a))
@@ -708,7 +708,7 @@ theorem induction_on''' {M : MvPolynomial σ R → Prop} (p : MvPolynomial σ R)
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {M : (MvPolynomial.{u2, u1} σ R _inst_1) -> Prop} (p : MvPolynomial.{u2, u1} σ R _inst_1), (forall (a : R), M (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a)) -> (forall (a : Finsupp.{u2, 0} σ Nat Nat.hasZero) (b : R) (f : Finsupp.{u2, u1} (Finsupp.{u2, 0} σ Nat Nat.hasZero) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))), (Not (Membership.Mem.{u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasMem.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) a (Finsupp.support.{u2, u1} (Finsupp.{u2, 0} σ Nat Nat.hasZero) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) f))) -> (Ne.{succ u1} R b (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) -> (M f) -> (M (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 a) b)) -> (M (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHAdd.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasAdd.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 a) b) f))) -> (forall (p : MvPolynomial.{u2, u1} σ R _inst_1) (n : σ), (M p) -> (M (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) p (MvPolynomial.X.{u1, u2} R σ _inst_1 n)))) -> (M p)
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {M : (MvPolynomial.{u1, u2} σ R _inst_1) -> Prop} (p : MvPolynomial.{u1, u2} σ R _inst_1), (forall (a : R), M (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.2397 : 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) a)) -> (forall (a : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (b : R) (f : Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))), (Not (Membership.mem.{u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instMembershipFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) a (Finsupp.support.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)) f))) -> (Ne.{succ u2} R b (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) -> (M f) -> (M (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 a) b)) -> (M (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (instHAdd.{max u2 u1} (Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (Finsupp.add.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))))) ([mdata let_fun:1 (fun (this : Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) => this) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 a) b)]) f))) -> (forall (p : MvPolynomial.{u1, u2} σ R _inst_1) (n : σ), (M p) -> (M (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) p (MvPolynomial.X.{u2, u1} R σ _inst_1 n)))) -> (M p)
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {M : (MvPolynomial.{u1, u2} σ R _inst_1) -> Prop} (p : MvPolynomial.{u1, u2} σ R _inst_1), (forall (a : R), M (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.2397 : 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) a)) -> (forall (a : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (b : R) (f : Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))), (Not (Membership.mem.{u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instMembershipFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) a (Finsupp.support.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)) f))) -> (Ne.{succ u2} R b (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) -> (M f) -> (M (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 a) b)) -> (M (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (instHAdd.{max u2 u1} (Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (Finsupp.add.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))))) ([mdata let_fun:1 (fun (this : Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) => this) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 a) b)]) f))) -> (forall (p : MvPolynomial.{u1, u2} σ R _inst_1) (n : σ), (M p) -> (M (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) p (MvPolynomial.X.{u2, u1} R σ _inst_1 n)))) -> (M p)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.induction_on'' MvPolynomial.induction_on''ₓ'. -/
/-- Similar to `mv_polynomial.induction_on` but only a yet weaker form of `h_add` is required.-/
theorem induction_on'' {M : MvPolynomial σ R → Prop} (p : MvPolynomial σ R) (h_C : ∀ a, M (C a))
@@ -785,7 +785,7 @@ theorem is_id (f : MvPolynomial σ R →+* MvPolynomial σ R) (hC : f.comp C = C
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {A : Type.{u3}} {B : Type.{u4}} [_inst_3 : CommSemiring.{u3} A] [_inst_4 : CommSemiring.{u4} B] [_inst_5 : Algebra.{u1, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3)] [_inst_6 : Algebra.{u1, u4} R B _inst_1 (CommSemiring.toSemiring.{u4} B _inst_4)] {f : AlgHom.{u1, max u2 u3, u4} R (MvPolynomial.{u2, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) (CommSemiring.toSemiring.{u4} B _inst_4) (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) _inst_6} {g : AlgHom.{u1, max u2 u3, u4} R (MvPolynomial.{u2, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) (CommSemiring.toSemiring.{u4} B _inst_4) (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) _inst_6}, (Eq.{max (succ u3) (succ u4)} (AlgHom.{u1, u3, u4} R A B _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) (CommSemiring.toSemiring.{u4} B _inst_4) _inst_5 _inst_6) (AlgHom.comp.{u1, u3, max u2 u3, u4} R A (MvPolynomial.{u2, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) (CommSemiring.toSemiring.{u4} B _inst_4) _inst_5 (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) _inst_6 f (IsScalarTower.toAlgHom.{u1, u3, max u2 u3} R A (MvPolynomial.{u2, u3} σ A _inst_3) _inst_1 _inst_3 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) _inst_5 (MvPolynomial.algebra.{u3, u3, u2} A A σ _inst_3 _inst_3 (Algebra.id.{u3} A _inst_3)) (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) (MvPolynomial.isScalarTower.{u1, u3, u3, u2} R A A σ _inst_3 (SMulZeroClass.toHasSmul.{u1, u3} R A (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))))))) (SMulWithZero.toSmulZeroClass.{u1, u3} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))))))) (MulActionWithZero.toSMulWithZero.{u1, u3} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))))))) (Module.toMulActionWithZero.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3)))) (Algebra.toModule.{u1, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5))))) (SMulWithZero.toSmulZeroClass.{u1, u3} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (MulZeroClass.toHasZero.{u3} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u3} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toHasZero.{u3} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))))) (Module.toMulActionWithZero.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3)))) (Algebra.toModule.{u1, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5)))) (SMulWithZero.toSmulZeroClass.{u3, u3} A A (MulZeroClass.toHasZero.{u3} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))))) (MulZeroClass.toHasZero.{u3} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))))) (MulZeroClass.toSMulWithZero.{u3} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3)))))) (IsScalarTower.right.{u1, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5)))) (AlgHom.comp.{u1, u3, max u2 u3, u4} R A (MvPolynomial.{u2, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) (CommSemiring.toSemiring.{u4} B _inst_4) _inst_5 (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) _inst_6 g (IsScalarTower.toAlgHom.{u1, u3, max u2 u3} R A (MvPolynomial.{u2, u3} σ A _inst_3) _inst_1 _inst_3 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) _inst_5 (MvPolynomial.algebra.{u3, u3, u2} A A σ _inst_3 _inst_3 (Algebra.id.{u3} A _inst_3)) (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) (MvPolynomial.isScalarTower.{u1, u3, u3, u2} R A A σ _inst_3 (SMulZeroClass.toHasSmul.{u1, u3} R A (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))))))) (SMulWithZero.toSmulZeroClass.{u1, u3} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))))))) (MulActionWithZero.toSMulWithZero.{u1, u3} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))))))) (Module.toMulActionWithZero.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3)))) (Algebra.toModule.{u1, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5))))) (SMulWithZero.toSmulZeroClass.{u1, u3} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (MulZeroClass.toHasZero.{u3} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u3} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toHasZero.{u3} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))))) (Module.toMulActionWithZero.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3)))) (Algebra.toModule.{u1, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5)))) (SMulWithZero.toSmulZeroClass.{u3, u3} A A (MulZeroClass.toHasZero.{u3} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))))) (MulZeroClass.toHasZero.{u3} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))))) (MulZeroClass.toSMulWithZero.{u3} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3)))))) (IsScalarTower.right.{u1, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5))))) -> (forall (i : σ), Eq.{succ u4} B (coeFn.{max (succ (max u2 u3)) (succ u4), max (succ (max u2 u3)) (succ u4)} (AlgHom.{u1, max u2 u3, u4} R (MvPolynomial.{u2, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) (CommSemiring.toSemiring.{u4} B _inst_4) (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) _inst_6) (fun (_x : AlgHom.{u1, max u2 u3, u4} R (MvPolynomial.{u2, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) (CommSemiring.toSemiring.{u4} B _inst_4) (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) _inst_6) => (MvPolynomial.{u2, u3} σ A _inst_3) -> B) ([anonymous].{u1, max u2 u3, u4} R (MvPolynomial.{u2, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) (CommSemiring.toSemiring.{u4} B _inst_4) (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) _inst_6) f (MvPolynomial.X.{u3, u2} A σ _inst_3 i)) (coeFn.{max (succ (max u2 u3)) (succ u4), max (succ (max u2 u3)) (succ u4)} (AlgHom.{u1, max u2 u3, u4} R (MvPolynomial.{u2, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) (CommSemiring.toSemiring.{u4} B _inst_4) (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) _inst_6) (fun (_x : AlgHom.{u1, max u2 u3, u4} R (MvPolynomial.{u2, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) (CommSemiring.toSemiring.{u4} B _inst_4) (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) _inst_6) => (MvPolynomial.{u2, u3} σ A _inst_3) -> B) ([anonymous].{u1, max u2 u3, u4} R (MvPolynomial.{u2, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) (CommSemiring.toSemiring.{u4} B _inst_4) (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) _inst_6) g (MvPolynomial.X.{u3, u2} A σ _inst_3 i))) -> (Eq.{max (succ (max u2 u3)) (succ u4)} (AlgHom.{u1, max u2 u3, u4} R (MvPolynomial.{u2, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) (CommSemiring.toSemiring.{u4} B _inst_4) (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) _inst_6) f g)
but is expected to have type
- forall {R : Type.{u4}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u4} R] {A : Type.{u3}} {B : Type.{u2}} [_inst_3 : CommSemiring.{u3} A] [_inst_4 : CommSemiring.{u2} B] [_inst_5 : Algebra.{u4, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3)] [_inst_6 : Algebra.{u4, u2} R B _inst_1 (CommSemiring.toSemiring.{u2} B _inst_4)] {f : AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6} {g : AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6}, (Eq.{max (succ u3) (succ u2)} (AlgHom.{u4, u3, u2} R A B _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) (CommSemiring.toSemiring.{u2} B _inst_4) _inst_5 _inst_6) (AlgHom.comp.{u4, u3, max u1 u3, u2} R A (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) _inst_5 (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6 f (IsScalarTower.toAlgHom.{u4, u3, max u3 u1} R A (MvPolynomial.{u1, u3} σ A _inst_3) _inst_1 _inst_3 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) _inst_5 (MvPolynomial.algebra.{u3, u3, u1} A A σ _inst_3 _inst_3 (Algebra.id.{u3} A _inst_3)) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) (MvPolynomial.isScalarTower.{u4, u3, u3, u1} R A A σ _inst_3 (Algebra.toSMul.{u4, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5) (SMulWithZero.toSMulZeroClass.{u4, u3} R A (CommMonoidWithZero.toZero.{u4} R (CommSemiring.toCommMonoidWithZero.{u4} R _inst_1)) (MonoidWithZero.toZero.{u3} A (Semiring.toMonoidWithZero.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))) (MulActionWithZero.toSMulWithZero.{u4, u3} R A (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (MonoidWithZero.toZero.{u3} A (Semiring.toMonoidWithZero.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))) (Module.toMulActionWithZero.{u4, u3} R A (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3)))) (Algebra.toModule.{u4, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5)))) (SMulWithZero.toSMulZeroClass.{u3, u3} A A (CommMonoidWithZero.toZero.{u3} A (CommSemiring.toCommMonoidWithZero.{u3} A _inst_3)) (MonoidWithZero.toZero.{u3} A (Semiring.toMonoidWithZero.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))) (MulActionWithZero.toSMulWithZero.{u3, u3} A A (Semiring.toMonoidWithZero.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3)) (MonoidWithZero.toZero.{u3} A (Semiring.toMonoidWithZero.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))) (Module.toMulActionWithZero.{u3, u3} A A (CommSemiring.toSemiring.{u3} A _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3)))) (Algebra.toModule.{u3, u3} A A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_3) (Algebra.id.{u3} A _inst_3))))) (IsScalarTower.right.{u4, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5)))) (AlgHom.comp.{u4, u3, max u1 u3, u2} R A (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) _inst_5 (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6 g (IsScalarTower.toAlgHom.{u4, u3, max u3 u1} R A (MvPolynomial.{u1, u3} σ A _inst_3) _inst_1 _inst_3 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) _inst_5 (MvPolynomial.algebra.{u3, u3, u1} A A σ _inst_3 _inst_3 (Algebra.id.{u3} A _inst_3)) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) (MvPolynomial.isScalarTower.{u4, u3, u3, u1} R A A σ _inst_3 (Algebra.toSMul.{u4, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5) (SMulWithZero.toSMulZeroClass.{u4, u3} R A (CommMonoidWithZero.toZero.{u4} R (CommSemiring.toCommMonoidWithZero.{u4} R _inst_1)) (MonoidWithZero.toZero.{u3} A (Semiring.toMonoidWithZero.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))) (MulActionWithZero.toSMulWithZero.{u4, u3} R A (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (MonoidWithZero.toZero.{u3} A (Semiring.toMonoidWithZero.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))) (Module.toMulActionWithZero.{u4, u3} R A (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3)))) (Algebra.toModule.{u4, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5)))) (SMulWithZero.toSMulZeroClass.{u3, u3} A A (CommMonoidWithZero.toZero.{u3} A (CommSemiring.toCommMonoidWithZero.{u3} A _inst_3)) (MonoidWithZero.toZero.{u3} A (Semiring.toMonoidWithZero.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))) (MulActionWithZero.toSMulWithZero.{u3, u3} A A (Semiring.toMonoidWithZero.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3)) (MonoidWithZero.toZero.{u3} A (Semiring.toMonoidWithZero.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))) (Module.toMulActionWithZero.{u3, u3} A A (CommSemiring.toSemiring.{u3} A _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3)))) (Algebra.toModule.{u3, u3} A A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_3) (Algebra.id.{u3} A _inst_3))))) (IsScalarTower.right.{u4, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5))))) -> (forall (i : σ), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u3} σ A _inst_3) => B) (MvPolynomial.X.{u3, u1} A σ _inst_3 i)) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), max (succ u1) (succ u3), succ u2} (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) (MvPolynomial.{u1, u3} σ A _inst_3) (fun (_x : MvPolynomial.{u1, u3} σ A _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u3} σ A _inst_3) => B) _x) (SMulHomClass.toFunLike.{max (max u1 u3) u2, u4, max u1 u3, u2} (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) R (MvPolynomial.{u1, u3} σ A _inst_3) B (SMulZeroClass.toSMul.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (AddMonoid.toZero.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3))))))) (DistribSMul.toSMulZeroClass.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (AddMonoid.toAddZeroClass.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3))))))) (DistribMulAction.toDistribSMul.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)))))) (Module.toDistribMulAction.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3))))) (Algebra.toModule.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5)))))) (SMulZeroClass.toSMul.{u4, u2} R B (AddMonoid.toZero.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4)))))) (DistribSMul.toSMulZeroClass.{u4, u2} R B (AddMonoid.toAddZeroClass.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4)))))) (DistribMulAction.toDistribSMul.{u4, u2} R B (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4))))) (Module.toDistribMulAction.{u4, u2} R B (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4)))) (Algebra.toModule.{u4, u2} R B _inst_1 (CommSemiring.toSemiring.{u2} B _inst_4) _inst_6))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u3) u2, u4, max u1 u3, u2} (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) R (MvPolynomial.{u1, u3} σ A _inst_3) B (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)))))) (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4))))) (Module.toDistribMulAction.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3))))) (Algebra.toModule.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5))) (Module.toDistribMulAction.{u4, u2} R B (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4)))) (Algebra.toModule.{u4, u2} R B _inst_1 (CommSemiring.toSemiring.{u2} B _inst_4) _inst_6)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u1 u3) u2, u4, max u1 u3, u2} (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) R (MvPolynomial.{u1, u3} σ A _inst_3) B (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4))) (Module.toDistribMulAction.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3))))) (Algebra.toModule.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5))) (Module.toDistribMulAction.{u4, u2} R B (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4)))) (Algebra.toModule.{u4, u2} R B _inst_1 (CommSemiring.toSemiring.{u2} B _inst_4) _inst_6)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u4, max u1 u3, u2, max (max u1 u3) u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6 (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) (AlgHom.algHomClass.{u4, max u1 u3, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6))))) f (MvPolynomial.X.{u3, u1} A σ _inst_3 i)) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), max (succ u1) (succ u3), succ u2} (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) (MvPolynomial.{u1, u3} σ A _inst_3) (fun (_x : MvPolynomial.{u1, u3} σ A _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u3} σ A _inst_3) => B) _x) (SMulHomClass.toFunLike.{max (max u1 u3) u2, u4, max u1 u3, u2} (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) R (MvPolynomial.{u1, u3} σ A _inst_3) B (SMulZeroClass.toSMul.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (AddMonoid.toZero.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3))))))) (DistribSMul.toSMulZeroClass.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (AddMonoid.toAddZeroClass.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3))))))) (DistribMulAction.toDistribSMul.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)))))) (Module.toDistribMulAction.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3))))) (Algebra.toModule.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5)))))) (SMulZeroClass.toSMul.{u4, u2} R B (AddMonoid.toZero.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4)))))) (DistribSMul.toSMulZeroClass.{u4, u2} R B (AddMonoid.toAddZeroClass.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4)))))) (DistribMulAction.toDistribSMul.{u4, u2} R B (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4))))) (Module.toDistribMulAction.{u4, u2} R B (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4)))) (Algebra.toModule.{u4, u2} R B _inst_1 (CommSemiring.toSemiring.{u2} B _inst_4) _inst_6))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u3) u2, u4, max u1 u3, u2} (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) R (MvPolynomial.{u1, u3} σ A _inst_3) B (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)))))) (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4))))) (Module.toDistribMulAction.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3))))) (Algebra.toModule.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5))) (Module.toDistribMulAction.{u4, u2} R B (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4)))) (Algebra.toModule.{u4, u2} R B _inst_1 (CommSemiring.toSemiring.{u2} B _inst_4) _inst_6)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u1 u3) u2, u4, max u1 u3, u2} (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) R (MvPolynomial.{u1, u3} σ A _inst_3) B (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4))) (Module.toDistribMulAction.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3))))) (Algebra.toModule.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5))) (Module.toDistribMulAction.{u4, u2} R B (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4)))) (Algebra.toModule.{u4, u2} R B _inst_1 (CommSemiring.toSemiring.{u2} B _inst_4) _inst_6)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u4, max u1 u3, u2, max (max u1 u3) u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6 (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) (AlgHom.algHomClass.{u4, max u1 u3, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6))))) g (MvPolynomial.X.{u3, u1} A σ _inst_3 i))) -> (Eq.{max (max (succ u1) (succ u3)) (succ u2)} (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) f g)
+ forall {R : Type.{u4}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u4} R] {A : Type.{u3}} {B : Type.{u2}} [_inst_3 : CommSemiring.{u3} A] [_inst_4 : CommSemiring.{u2} B] [_inst_5 : Algebra.{u4, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3)] [_inst_6 : Algebra.{u4, u2} R B _inst_1 (CommSemiring.toSemiring.{u2} B _inst_4)] {f : AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6} {g : AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6}, (Eq.{max (succ u3) (succ u2)} (AlgHom.{u4, u3, u2} R A B _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) (CommSemiring.toSemiring.{u2} B _inst_4) _inst_5 _inst_6) (AlgHom.comp.{u4, u3, max u1 u3, u2} R A (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) _inst_5 (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6 f (IsScalarTower.toAlgHom.{u4, u3, max u3 u1} R A (MvPolynomial.{u1, u3} σ A _inst_3) _inst_1 _inst_3 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) _inst_5 (MvPolynomial.algebra.{u3, u3, u1} A A σ _inst_3 _inst_3 (Algebra.id.{u3} A _inst_3)) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) (MvPolynomial.isScalarTower.{u4, u3, u3, u1} R A A σ _inst_3 (Algebra.toSMul.{u4, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5) (SMulWithZero.toSMulZeroClass.{u4, u3} R A (CommMonoidWithZero.toZero.{u4} R (CommSemiring.toCommMonoidWithZero.{u4} R _inst_1)) (MonoidWithZero.toZero.{u3} A (Semiring.toMonoidWithZero.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))) (MulActionWithZero.toSMulWithZero.{u4, u3} R A (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (MonoidWithZero.toZero.{u3} A (Semiring.toMonoidWithZero.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))) (Module.toMulActionWithZero.{u4, u3} R A (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3)))) (Algebra.toModule.{u4, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5)))) (SMulWithZero.toSMulZeroClass.{u3, u3} A A (CommMonoidWithZero.toZero.{u3} A (CommSemiring.toCommMonoidWithZero.{u3} A _inst_3)) (MonoidWithZero.toZero.{u3} A (Semiring.toMonoidWithZero.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))) (MulActionWithZero.toSMulWithZero.{u3, u3} A A (Semiring.toMonoidWithZero.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3)) (MonoidWithZero.toZero.{u3} A (Semiring.toMonoidWithZero.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))) (Module.toMulActionWithZero.{u3, u3} A A (CommSemiring.toSemiring.{u3} A _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3)))) (Algebra.toModule.{u3, u3} A A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_3) (Algebra.id.{u3} A _inst_3))))) (IsScalarTower.right.{u4, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5)))) (AlgHom.comp.{u4, u3, max u1 u3, u2} R A (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) _inst_5 (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6 g (IsScalarTower.toAlgHom.{u4, u3, max u3 u1} R A (MvPolynomial.{u1, u3} σ A _inst_3) _inst_1 _inst_3 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) _inst_5 (MvPolynomial.algebra.{u3, u3, u1} A A σ _inst_3 _inst_3 (Algebra.id.{u3} A _inst_3)) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) (MvPolynomial.isScalarTower.{u4, u3, u3, u1} R A A σ _inst_3 (Algebra.toSMul.{u4, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5) (SMulWithZero.toSMulZeroClass.{u4, u3} R A (CommMonoidWithZero.toZero.{u4} R (CommSemiring.toCommMonoidWithZero.{u4} R _inst_1)) (MonoidWithZero.toZero.{u3} A (Semiring.toMonoidWithZero.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))) (MulActionWithZero.toSMulWithZero.{u4, u3} R A (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (MonoidWithZero.toZero.{u3} A (Semiring.toMonoidWithZero.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))) (Module.toMulActionWithZero.{u4, u3} R A (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3)))) (Algebra.toModule.{u4, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5)))) (SMulWithZero.toSMulZeroClass.{u3, u3} A A (CommMonoidWithZero.toZero.{u3} A (CommSemiring.toCommMonoidWithZero.{u3} A _inst_3)) (MonoidWithZero.toZero.{u3} A (Semiring.toMonoidWithZero.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))) (MulActionWithZero.toSMulWithZero.{u3, u3} A A (Semiring.toMonoidWithZero.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3)) (MonoidWithZero.toZero.{u3} A (Semiring.toMonoidWithZero.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))) (Module.toMulActionWithZero.{u3, u3} A A (CommSemiring.toSemiring.{u3} A _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3)))) (Algebra.toModule.{u3, u3} A A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_3) (Algebra.id.{u3} A _inst_3))))) (IsScalarTower.right.{u4, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5))))) -> (forall (i : σ), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u3} σ A _inst_3) => B) (MvPolynomial.X.{u3, u1} A σ _inst_3 i)) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), max (succ u1) (succ u3), succ u2} (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) (MvPolynomial.{u1, u3} σ A _inst_3) (fun (_x : MvPolynomial.{u1, u3} σ A _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u3} σ A _inst_3) => B) _x) (SMulHomClass.toFunLike.{max (max u1 u3) u2, u4, max u1 u3, u2} (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) R (MvPolynomial.{u1, u3} σ A _inst_3) B (SMulZeroClass.toSMul.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (AddMonoid.toZero.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3))))))) (DistribSMul.toSMulZeroClass.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (AddMonoid.toAddZeroClass.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3))))))) (DistribMulAction.toDistribSMul.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)))))) (Module.toDistribMulAction.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3))))) (Algebra.toModule.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5)))))) (SMulZeroClass.toSMul.{u4, u2} R B (AddMonoid.toZero.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4)))))) (DistribSMul.toSMulZeroClass.{u4, u2} R B (AddMonoid.toAddZeroClass.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4)))))) (DistribMulAction.toDistribSMul.{u4, u2} R B (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4))))) (Module.toDistribMulAction.{u4, u2} R B (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4)))) (Algebra.toModule.{u4, u2} R B _inst_1 (CommSemiring.toSemiring.{u2} B _inst_4) _inst_6))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u3) u2, u4, max u1 u3, u2} (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) R (MvPolynomial.{u1, u3} σ A _inst_3) B (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)))))) (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4))))) (Module.toDistribMulAction.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3))))) (Algebra.toModule.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5))) (Module.toDistribMulAction.{u4, u2} R B (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4)))) (Algebra.toModule.{u4, u2} R B _inst_1 (CommSemiring.toSemiring.{u2} B _inst_4) _inst_6)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u1 u3) u2, u4, max u1 u3, u2} (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) R (MvPolynomial.{u1, u3} σ A _inst_3) B (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4))) (Module.toDistribMulAction.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3))))) (Algebra.toModule.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5))) (Module.toDistribMulAction.{u4, u2} R B (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4)))) (Algebra.toModule.{u4, u2} R B _inst_1 (CommSemiring.toSemiring.{u2} B _inst_4) _inst_6)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u4, max u1 u3, u2, max (max u1 u3) u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6 (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) (AlgHom.algHomClass.{u4, max u1 u3, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6))))) f (MvPolynomial.X.{u3, u1} A σ _inst_3 i)) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), max (succ u1) (succ u3), succ u2} (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) (MvPolynomial.{u1, u3} σ A _inst_3) (fun (_x : MvPolynomial.{u1, u3} σ A _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u3} σ A _inst_3) => B) _x) (SMulHomClass.toFunLike.{max (max u1 u3) u2, u4, max u1 u3, u2} (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) R (MvPolynomial.{u1, u3} σ A _inst_3) B (SMulZeroClass.toSMul.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (AddMonoid.toZero.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3))))))) (DistribSMul.toSMulZeroClass.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (AddMonoid.toAddZeroClass.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3))))))) (DistribMulAction.toDistribSMul.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)))))) (Module.toDistribMulAction.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3))))) (Algebra.toModule.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5)))))) (SMulZeroClass.toSMul.{u4, u2} R B (AddMonoid.toZero.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4)))))) (DistribSMul.toSMulZeroClass.{u4, u2} R B (AddMonoid.toAddZeroClass.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4)))))) (DistribMulAction.toDistribSMul.{u4, u2} R B (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4))))) (Module.toDistribMulAction.{u4, u2} R B (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4)))) (Algebra.toModule.{u4, u2} R B _inst_1 (CommSemiring.toSemiring.{u2} B _inst_4) _inst_6))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u3) u2, u4, max u1 u3, u2} (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) R (MvPolynomial.{u1, u3} σ A _inst_3) B (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)))))) (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4))))) (Module.toDistribMulAction.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3))))) (Algebra.toModule.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5))) (Module.toDistribMulAction.{u4, u2} R B (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4)))) (Algebra.toModule.{u4, u2} R B _inst_1 (CommSemiring.toSemiring.{u2} B _inst_4) _inst_6)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u1 u3) u2, u4, max u1 u3, u2} (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) R (MvPolynomial.{u1, u3} σ A _inst_3) B (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4))) (Module.toDistribMulAction.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3))))) (Algebra.toModule.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5))) (Module.toDistribMulAction.{u4, u2} R B (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4)))) (Algebra.toModule.{u4, u2} R B _inst_1 (CommSemiring.toSemiring.{u2} B _inst_4) _inst_6)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u4, max u1 u3, u2, max (max u1 u3) u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6 (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) (AlgHom.algHomClass.{u4, max u1 u3, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6))))) g (MvPolynomial.X.{u3, u1} A σ _inst_3 i))) -> (Eq.{max (max (succ u1) (succ u3)) (succ u2)} (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) f g)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.alg_hom_ext' MvPolynomial.algHom_ext'ₓ'. -/
@[ext]
theorem algHom_ext' {A B : Type _} [CommSemiring A] [CommSemiring B] [Algebra R A] [Algebra R B]
@@ -801,7 +801,7 @@ theorem algHom_ext' {A B : Type _} [CommSemiring A] [CommSemiring B] [Algebra R
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {A : Type.{u3}} [_inst_3 : Semiring.{u3} A] [_inst_4 : Algebra.{u1, u3} R A _inst_1 _inst_3] {f : AlgHom.{u1, max u2 u1, u3} R (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_4} {g : AlgHom.{u1, max u2 u1, u3} R (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_4}, (forall (i : σ), Eq.{succ u3} A (coeFn.{max (succ (max u2 u1)) (succ u3), max (succ (max u2 u1)) (succ u3)} (AlgHom.{u1, max u2 u1, u3} R (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_4) (fun (_x : AlgHom.{u1, max u2 u1, u3} R (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_4) => (MvPolynomial.{u2, u1} σ R _inst_1) -> A) ([anonymous].{u1, max u2 u1, u3} R (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_4) f (MvPolynomial.X.{u1, u2} R σ _inst_1 i)) (coeFn.{max (succ (max u2 u1)) (succ u3), max (succ (max u2 u1)) (succ u3)} (AlgHom.{u1, max u2 u1, u3} R (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_4) (fun (_x : AlgHom.{u1, max u2 u1, u3} R (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_4) => (MvPolynomial.{u2, u1} σ R _inst_1) -> A) ([anonymous].{u1, max u2 u1, u3} R (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_4) g (MvPolynomial.X.{u1, u2} R σ _inst_1 i))) -> (Eq.{max (succ (max u2 u1)) (succ u3)} (AlgHom.{u1, max u2 u1, u3} R (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_4) f g)
but is expected to have type
- forall {R : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] {A : Type.{u2}} [_inst_3 : Semiring.{u2} A] [_inst_4 : Algebra.{u3, u2} R A _inst_1 _inst_3] {f : AlgHom.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4} {g : AlgHom.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4}, (forall (i : σ), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u3} σ R _inst_1) => A) (MvPolynomial.X.{u3, u1} R σ _inst_1 i)) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u1), succ u2} (AlgHom.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4) (MvPolynomial.{u1, u3} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u3} σ R _inst_1) => A) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u3, max u3 u1, u2} (AlgHom.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4) R (MvPolynomial.{u1, u3} σ R _inst_1) A (SMulZeroClass.toSMul.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toZero.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (Module.toDistribMulAction.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))))))) (SMulZeroClass.toSMul.{u3, u2} R A (AddMonoid.toZero.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3))))) (DistribSMul.toSMulZeroClass.{u3, u2} R A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3))))) (DistribMulAction.toDistribSMul.{u3, u2} R A (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3)))) (Module.toDistribMulAction.{u3, u2} R A (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3))) (Algebra.toModule.{u3, u2} R A _inst_1 _inst_3 _inst_4))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u3, max u3 u1, u2} (AlgHom.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4) R (MvPolynomial.{u1, u3} σ R _inst_1) A (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3)))) (Module.toDistribMulAction.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u2} R A (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3))) (Algebra.toModule.{u3, u2} R A _inst_1 _inst_3 _inst_4)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u3, max u3 u1, u2} (AlgHom.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4) R (MvPolynomial.{u1, u3} σ R _inst_1) A (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (Module.toDistribMulAction.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u2} R A (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3))) (Algebra.toModule.{u3, u2} R A _inst_1 _inst_3 _inst_4)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u3, max u3 u1, u2, max (max u3 u1) u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4 (AlgHom.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4) (AlgHom.algHomClass.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4))))) f (MvPolynomial.X.{u3, u1} R σ _inst_1 i)) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u1), succ u2} (AlgHom.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4) (MvPolynomial.{u1, u3} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u3} σ R _inst_1) => A) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u3, max u3 u1, u2} (AlgHom.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4) R (MvPolynomial.{u1, u3} σ R _inst_1) A (SMulZeroClass.toSMul.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toZero.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (Module.toDistribMulAction.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))))))) (SMulZeroClass.toSMul.{u3, u2} R A (AddMonoid.toZero.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3))))) (DistribSMul.toSMulZeroClass.{u3, u2} R A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3))))) (DistribMulAction.toDistribSMul.{u3, u2} R A (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3)))) (Module.toDistribMulAction.{u3, u2} R A (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3))) (Algebra.toModule.{u3, u2} R A _inst_1 _inst_3 _inst_4))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u3, max u3 u1, u2} (AlgHom.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4) R (MvPolynomial.{u1, u3} σ R _inst_1) A (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3)))) (Module.toDistribMulAction.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u2} R A (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3))) (Algebra.toModule.{u3, u2} R A _inst_1 _inst_3 _inst_4)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u3, max u3 u1, u2} (AlgHom.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4) R (MvPolynomial.{u1, u3} σ R _inst_1) A (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (Module.toDistribMulAction.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u2} R A (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3))) (Algebra.toModule.{u3, u2} R A _inst_1 _inst_3 _inst_4)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u3, max u3 u1, u2, max (max u3 u1) u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4 (AlgHom.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4) (AlgHom.algHomClass.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4))))) g (MvPolynomial.X.{u3, u1} R σ _inst_1 i))) -> (Eq.{max (max (succ u3) (succ u1)) (succ u2)} (AlgHom.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4) f g)
+ forall {R : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] {A : Type.{u2}} [_inst_3 : Semiring.{u2} A] [_inst_4 : Algebra.{u3, u2} R A _inst_1 _inst_3] {f : AlgHom.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4} {g : AlgHom.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4}, (forall (i : σ), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u3} σ R _inst_1) => A) (MvPolynomial.X.{u3, u1} R σ _inst_1 i)) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u1), succ u2} (AlgHom.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4) (MvPolynomial.{u1, u3} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u3} σ R _inst_1) => A) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u3, max u3 u1, u2} (AlgHom.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4) R (MvPolynomial.{u1, u3} σ R _inst_1) A (SMulZeroClass.toSMul.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toZero.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (Module.toDistribMulAction.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))))))) (SMulZeroClass.toSMul.{u3, u2} R A (AddMonoid.toZero.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3))))) (DistribSMul.toSMulZeroClass.{u3, u2} R A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3))))) (DistribMulAction.toDistribSMul.{u3, u2} R A (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3)))) (Module.toDistribMulAction.{u3, u2} R A (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3))) (Algebra.toModule.{u3, u2} R A _inst_1 _inst_3 _inst_4))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u3, max u3 u1, u2} (AlgHom.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4) R (MvPolynomial.{u1, u3} σ R _inst_1) A (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3)))) (Module.toDistribMulAction.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u2} R A (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3))) (Algebra.toModule.{u3, u2} R A _inst_1 _inst_3 _inst_4)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u3, max u3 u1, u2} (AlgHom.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4) R (MvPolynomial.{u1, u3} σ R _inst_1) A (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (Module.toDistribMulAction.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u2} R A (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3))) (Algebra.toModule.{u3, u2} R A _inst_1 _inst_3 _inst_4)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u3, max u3 u1, u2, max (max u3 u1) u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4 (AlgHom.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4) (AlgHom.algHomClass.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4))))) f (MvPolynomial.X.{u3, u1} R σ _inst_1 i)) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u1), succ u2} (AlgHom.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4) (MvPolynomial.{u1, u3} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u3} σ R _inst_1) => A) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u3, max u3 u1, u2} (AlgHom.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4) R (MvPolynomial.{u1, u3} σ R _inst_1) A (SMulZeroClass.toSMul.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toZero.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (Module.toDistribMulAction.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))))))) (SMulZeroClass.toSMul.{u3, u2} R A (AddMonoid.toZero.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3))))) (DistribSMul.toSMulZeroClass.{u3, u2} R A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3))))) (DistribMulAction.toDistribSMul.{u3, u2} R A (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3)))) (Module.toDistribMulAction.{u3, u2} R A (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3))) (Algebra.toModule.{u3, u2} R A _inst_1 _inst_3 _inst_4))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u3, max u3 u1, u2} (AlgHom.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4) R (MvPolynomial.{u1, u3} σ R _inst_1) A (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3)))) (Module.toDistribMulAction.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u2} R A (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3))) (Algebra.toModule.{u3, u2} R A _inst_1 _inst_3 _inst_4)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u3, max u3 u1, u2} (AlgHom.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4) R (MvPolynomial.{u1, u3} σ R _inst_1) A (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (Module.toDistribMulAction.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u2} R A (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3))) (Algebra.toModule.{u3, u2} R A _inst_1 _inst_3 _inst_4)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u3, max u3 u1, u2, max (max u3 u1) u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4 (AlgHom.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4) (AlgHom.algHomClass.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4))))) g (MvPolynomial.X.{u3, u1} R σ _inst_1 i))) -> (Eq.{max (max (succ u3) (succ u1)) (succ u2)} (AlgHom.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4) f g)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.alg_hom_ext MvPolynomial.algHom_extₓ'. -/
@[ext]
theorem algHom_ext {A : Type _} [Semiring A] [Algebra R A] {f g : MvPolynomial σ R →ₐ[R] A}
@@ -813,7 +813,7 @@ theorem algHom_ext {A : Type _} [Semiring A] [Algebra R A] {f g : MvPolynomial
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (f : AlgHom.{u1, max u2 u1, max u2 u1} 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 : R), Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{succ (max u2 u1), succ (max u2 u1)} (AlgHom.{u1, max u2 u1, max u2 u1} 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))) (fun (_x : AlgHom.{u1, max u2 u1, max u2 u1} 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) -> (MvPolynomial.{u2, u1} σ R _inst_1)) ([anonymous].{u1, max u2 u1, max u2 u1} 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))) f (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) r)) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) r)
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (f : AlgHom.{u2, max u2 u1, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (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))) (r : R), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, 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.2397 : 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 (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (AlgHom.{u2, max u2 u1, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (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) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (SMulHomClass.toFunLike.{max u2 u1, u2, max u2 u1, max u2 u1} (AlgHom.{u2, max u2 u1, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (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))) R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (SMulZeroClass.toSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (AddMonoid.toZero.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) (Module.toDistribMulAction.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Algebra.toModule.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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 u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (AddMonoid.toZero.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) (Module.toDistribMulAction.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Algebra.toModule.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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 u2 u1, u2, max u2 u1, max u2 u1} (AlgHom.{u2, max u2 u1, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (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))) R (MvPolynomial.{u1, 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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) (Module.toDistribMulAction.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Algebra.toModule.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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 u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Algebra.toModule.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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 u2 u1, u2, max u2 u1, max u2 u1} (AlgHom.{u2, max u2 u1, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (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))) R (MvPolynomial.{u1, 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 u2 u1} (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.{max u2 u1} (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)))) (Module.toDistribMulAction.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Algebra.toModule.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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 u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Algebra.toModule.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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 u2 u1, max u2 u1, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (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)) (AlgHom.{u2, max u2 u1, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (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))) (AlgHom.algHomClass.{u2, max u2 u1, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (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))))))) 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.2397 : 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 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.2397 : 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)
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (f : AlgHom.{u2, max u2 u1, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (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))) (r : R), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, 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.2397 : 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 (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (AlgHom.{u2, max u2 u1, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (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) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (SMulHomClass.toFunLike.{max u2 u1, u2, max u2 u1, max u2 u1} (AlgHom.{u2, max u2 u1, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (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))) R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (SMulZeroClass.toSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (AddMonoid.toZero.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) (Module.toDistribMulAction.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Algebra.toModule.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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 u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (AddMonoid.toZero.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) (Module.toDistribMulAction.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Algebra.toModule.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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 u2 u1, u2, max u2 u1, max u2 u1} (AlgHom.{u2, max u2 u1, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (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))) R (MvPolynomial.{u1, 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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) (Module.toDistribMulAction.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Algebra.toModule.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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 u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Algebra.toModule.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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 u2 u1, u2, max u2 u1, max u2 u1} (AlgHom.{u2, max u2 u1, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (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))) R (MvPolynomial.{u1, 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 u2 u1} (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.{max u2 u1} (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)))) (Module.toDistribMulAction.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Algebra.toModule.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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 u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Algebra.toModule.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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 u2 u1, max u2 u1, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (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)) (AlgHom.{u2, max u2 u1, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (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))) (AlgHom.algHomClass.{u2, max u2 u1, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (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))))))) 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.2397 : 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 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.2397 : 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)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.alg_hom_C MvPolynomial.algHom_Cₓ'. -/
@[simp]
theorem algHom_C (f : MvPolynomial σ R →ₐ[R] MvPolynomial σ R) (r : R) : f (C r) = C r :=
@@ -873,7 +873,7 @@ theorem finsupp_support_eq_support (p : MvPolynomial σ R) : Finsupp.support p =
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} {a : R} {s : Finsupp.{u2, 0} σ Nat Nat.hasZero} [_inst_1 : CommSemiring.{u1} R] [_inst_3 : Decidable (Eq.{succ u1} R a (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))], Eq.{succ u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (MvPolynomial.support.{u1, u2} R σ _inst_1 (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) a)) (ite.{succ u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Eq.{succ u1} R a (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) _inst_3 (EmptyCollection.emptyCollection.{u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasEmptyc.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero))) (Singleton.singleton.{u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasSingleton.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) s))
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u2} R] [_inst_3 : Decidable (Eq.{succ u2} R a (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)))))], 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 (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a)) (ite.{succ u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Eq.{succ u2} R a (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) _inst_3 (EmptyCollection.emptyCollection.{u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instEmptyCollectionFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)))) (Singleton.singleton.{u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instSingletonFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) s))
+ forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u2} R] [_inst_3 : Decidable (Eq.{succ u2} R a (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)))))], 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 (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a)) (ite.{succ u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Eq.{succ u2} R a (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) _inst_3 (EmptyCollection.emptyCollection.{u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instEmptyCollectionFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)))) (Singleton.singleton.{u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instSingletonFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) s))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.support_monomial MvPolynomial.support_monomialₓ'. -/
theorem support_monomial [Decidable (a = 0)] : (monomial s a).support = if a = 0 then ∅ else {s} :=
by convert rfl
@@ -883,7 +883,7 @@ theorem support_monomial [Decidable (a = 0)] : (monomial s a).support = if a = 0
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} {a : R} {s : Finsupp.{u2, 0} σ Nat Nat.hasZero} [_inst_1 : CommSemiring.{u1} R], HasSubset.Subset.{u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasSubset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (MvPolynomial.support.{u1, u2} R σ _inst_1 (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) a)) (Singleton.singleton.{u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasSingleton.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) s)
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u2} R], HasSubset.Subset.{u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instHasSubsetFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.support.{u2, u1} R σ _inst_1 (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a)) (Singleton.singleton.{u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instSingletonFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) s)
+ forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u2} R], HasSubset.Subset.{u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instHasSubsetFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.support.{u2, u1} R σ _inst_1 (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a)) (Singleton.singleton.{u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instSingletonFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) s)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.support_monomial_subset MvPolynomial.support_monomial_subsetₓ'. -/
theorem support_monomial_subset : (monomial s a).support ⊆ {s} :=
support_single_subset
@@ -1098,7 +1098,7 @@ theorem coeff_sum {X : Type _} (s : Finset X) (f : X → MvPolynomial σ R) (m :
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (m : Finsupp.{u2, 0} σ Nat Nat.hasZero), Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 m) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) (Finsupp.prod.{u2, 0, max u2 u1} σ Nat (MvPolynomial.{u2, u1} σ R _inst_1) Nat.hasZero (CommSemiring.toCommMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) m (fun (n : σ) (e : Nat) => HPow.hPow.{max u2 u1, 0, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) Nat (MvPolynomial.{u2, u1} σ R _inst_1) (instHPow.{max u2 u1, 0} (MvPolynomial.{u2, u1} σ R _inst_1) Nat (Monoid.Pow.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MonoidWithZero.toMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (MvPolynomial.X.{u1, u2} R σ _inst_1 n) e))
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 m) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (Finsupp.prod.{u1, 0, max u2 u1} σ Nat (MvPolynomial.{u1, u2} σ R _inst_1) (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (CommSemiring.toCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) m (fun (n : σ) (e : Nat) => HPow.hPow.{max u1 u2, 0, max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (MvPolynomial.{u1, u2} σ R _inst_1) (instHPow.{max u1 u2, 0} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (Monoid.Pow.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (MvPolynomial.X.{u2, u1} R σ _inst_1 n) e))
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 m) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (Finsupp.prod.{u1, 0, max u2 u1} σ Nat (MvPolynomial.{u1, u2} σ R _inst_1) (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (CommSemiring.toCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) m (fun (n : σ) (e : Nat) => HPow.hPow.{max u1 u2, 0, max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (MvPolynomial.{u1, u2} σ R _inst_1) (instHPow.{max u1 u2, 0} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (Monoid.Pow.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (MvPolynomial.X.{u2, u1} R σ _inst_1 n) e))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.monic_monomial_eq MvPolynomial.monic_monomial_eqₓ'. -/
theorem monic_monomial_eq (m) :
monomial m (1 : R) = (m.Prod fun n e => X n ^ e : MvPolynomial σ R) := by simp [monomial_eq]
@@ -1108,7 +1108,7 @@ theorem monic_monomial_eq (m) :
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_3 : DecidableEq.{succ u2} σ] (m : Finsupp.{u2, 0} σ Nat Nat.hasZero) (n : Finsupp.{u2, 0} σ Nat Nat.hasZero) (a : R), Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 n) a)) (ite.{succ u1} R (Eq.{succ u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) n m) (Finsupp.decidableEq.{u2, 0} σ Nat Nat.hasZero (fun (a : σ) (b : σ) => _inst_3 a b) (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) n m) a (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_3 : DecidableEq.{succ u1} σ] (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (n : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (a : R), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 n) a)) (ite.{succ u2} R (Eq.{succ u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) n m) (Finsupp.decidableEq.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (fun (a : σ) (b : σ) => _inst_3 a b) (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) n m) a (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)))))
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_3 : DecidableEq.{succ u1} σ] (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (n : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (a : R), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 n) a)) (ite.{succ u2} R (Eq.{succ u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) n m) (Finsupp.decidableEq.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (fun (a : σ) (b : σ) => _inst_3 a b) (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) n m) a (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_monomial MvPolynomial.coeff_monomialₓ'. -/
@[simp]
theorem coeff_monomial [DecidableEq σ] (m n) (a) :
@@ -1226,7 +1226,7 @@ theorem coeff_mul (p q : MvPolynomial σ R) (n : σ →₀ ℕ) :
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (m : Finsupp.{u2, 0} σ Nat Nat.hasZero) (s : Finsupp.{u2, 0} σ Nat Nat.hasZero) (r : R) (p : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 (HAdd.hAdd.{u2, u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (instHAdd.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.add.{u2, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) m s) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) p (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) r))) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m p) r)
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (r : R) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 (HAdd.hAdd.{u1, u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHAdd.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.add.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) m s) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) p (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) r))) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m p) r)
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (r : R) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 (HAdd.hAdd.{u1, u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHAdd.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.add.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) m s) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) p (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) r))) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m p) r)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.coeff_mul_monomial MvPolynomial.coeff_mul_monomialₓ'. -/
@[simp]
theorem coeff_mul_monomial (m) (s : σ →₀ ℕ) (r : R) (p : MvPolynomial σ R) :
@@ -1238,7 +1238,7 @@ theorem coeff_mul_monomial (m) (s : σ →₀ ℕ) (r : R) (p : MvPolynomial σ
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (m : Finsupp.{u2, 0} σ Nat Nat.hasZero) (s : Finsupp.{u2, 0} σ Nat Nat.hasZero) (r : R) (p : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 (HAdd.hAdd.{u2, u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (instHAdd.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.add.{u2, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) s m) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) r) p)) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) r (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m p))
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (r : R) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 (HAdd.hAdd.{u1, u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHAdd.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.add.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) s m) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) r) p)) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) r (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m p))
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (r : R) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 (HAdd.hAdd.{u1, u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHAdd.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.add.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) s m) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) r) p)) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) r (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m p))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.coeff_monomial_mul MvPolynomial.coeff_monomial_mulₓ'. -/
@[simp]
theorem coeff_monomial_mul (m) (s : σ →₀ ℕ) (r : R) (p : MvPolynomial σ R) :
@@ -1340,7 +1340,7 @@ theorem support_symmDiff_support_subset_support_add [DecidableEq σ] (p q : MvPo
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (m : Finsupp.{u2, 0} σ Nat Nat.hasZero) (s : Finsupp.{u2, 0} σ Nat Nat.hasZero) (r : R) (p : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) p (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) r))) (ite.{succ u1} R (LE.le.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.hasLe.{u2, 0} σ Nat Nat.hasZero Nat.hasLe) s m) (Finsupp.decidableLE.{u2, 0} σ Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) (fun (a : Nat) (b : Nat) => Nat.decidableLe a b) s m) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (MvPolynomial.coeff.{u1, u2} R σ _inst_1 (HSub.hSub.{u2, u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (instHSub.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.tsub.{u2, 0} σ Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) Nat.hasSub Nat.orderedSub)) m s) p) r) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (r : R) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) p (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) r))) (ite.{succ u2} R (LE.le.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.instLEFinsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) instLENat) s m) (Finsupp.decidableLE.{u1, 0} σ Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) (fun (a : Nat) (b : Nat) => Nat.decLe a b) s m) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 (HSub.hSub.{u1, u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHSub.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.tsub.{u1, 0} σ Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) instSubNat Nat.instOrderedSubNatInstLENatInstAddNatInstSubNat)) m s) p) r) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)))))
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (r : R) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) p (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) r))) (ite.{succ u2} R (LE.le.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.instLEFinsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) instLENat) s m) (Finsupp.decidableLE.{u1, 0} σ Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) (fun (a : Nat) (b : Nat) => Nat.decLe a b) s m) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 (HSub.hSub.{u1, u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHSub.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.tsub.{u1, 0} σ Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) instSubNat Nat.instOrderedSubNatInstLENatInstAddNatInstSubNat)) m s) p) r) (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_mul_monomial' MvPolynomial.coeff_mul_monomial'ₓ'. -/
theorem coeff_mul_monomial' (m) (s : σ →₀ ℕ) (r : R) (p : MvPolynomial σ R) :
coeff m (p * monomial s r) = if s ≤ m then coeff (m - s) p * r else 0 := by
@@ -1369,7 +1369,7 @@ theorem coeff_mul_monomial' (m) (s : σ →₀ ℕ) (r : R) (p : MvPolynomial σ
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (m : Finsupp.{u2, 0} σ Nat Nat.hasZero) (s : Finsupp.{u2, 0} σ Nat Nat.hasZero) (r : R) (p : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) r) p)) (ite.{succ u1} R (LE.le.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.hasLe.{u2, 0} σ Nat Nat.hasZero Nat.hasLe) s m) (Finsupp.decidableLE.{u2, 0} σ Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) (fun (a : Nat) (b : Nat) => Nat.decidableLe a b) s m) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) r (MvPolynomial.coeff.{u1, u2} R σ _inst_1 (HSub.hSub.{u2, u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (instHSub.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.tsub.{u2, 0} σ Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) Nat.hasSub Nat.orderedSub)) m s) p)) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (r : R) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) r) p)) (ite.{succ u2} R (LE.le.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.instLEFinsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) instLENat) s m) (Finsupp.decidableLE.{u1, 0} σ Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) (fun (a : Nat) (b : Nat) => Nat.decLe a b) s m) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) r (MvPolynomial.coeff.{u2, u1} R σ _inst_1 (HSub.hSub.{u1, u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHSub.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.tsub.{u1, 0} σ Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) instSubNat Nat.instOrderedSubNatInstLENatInstAddNatInstSubNat)) m s) p)) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)))))
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (r : R) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) r) p)) (ite.{succ u2} R (LE.le.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.instLEFinsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) instLENat) s m) (Finsupp.decidableLE.{u1, 0} σ Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) (fun (a : Nat) (b : Nat) => Nat.decLe a b) s m) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) r (MvPolynomial.coeff.{u2, u1} R σ _inst_1 (HSub.hSub.{u1, u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHSub.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.tsub.{u1, 0} σ Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) instSubNat Nat.instOrderedSubNatInstLENatInstAddNatInstSubNat)) m s) p)) (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_monomial_mul' MvPolynomial.coeff_monomial_mul'ₓ'. -/
theorem coeff_monomial_mul' (m) (s : σ →₀ ℕ) (r : R) (p : MvPolynomial σ R) :
coeff m (monomial s r * p) = if s ≤ m then r * coeff (m - s) p else 0 :=
@@ -1553,7 +1553,7 @@ theorem constantCoeff_smul {R : Type _} [SMulZeroClass R S₁] (a : R) (f : MvPo
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_3 : DecidableEq.{succ u2} σ] (d : Finsupp.{u2, 0} σ Nat Nat.hasZero) (r : R), Eq.{succ u1} R (coeFn.{max (succ (max u2 u1)) (succ u1), max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u2, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.constantCoeff.{u1, u2} R σ _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 d) r)) (ite.{succ u1} R (Eq.{succ u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) d (OfNat.ofNat.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (OfNat.mk.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (Zero.zero.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.zero.{u2, 0} σ Nat Nat.hasZero))))) (Finsupp.decidableEq.{u2, 0} σ Nat Nat.hasZero (fun (a : σ) (b : σ) => _inst_3 a b) (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) d (OfNat.ofNat.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (OfNat.mk.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (Zero.zero.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.zero.{u2, 0} σ Nat Nat.hasZero))))) r (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_3 : DecidableEq.{succ u1} σ] (d : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (r : R), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 d) r)) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 d) r)) (ite.{succ u2} R (Eq.{succ u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) d (OfNat.ofNat.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) 0 (Zero.toOfNat0.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.zero.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))))) (Finsupp.decidableEq.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (fun (a : σ) (b : σ) => _inst_3 a b) (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) d (OfNat.ofNat.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) 0 (Zero.toOfNat0.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.zero.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))))) r (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)))))
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_3 : DecidableEq.{succ u1} σ] (d : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (r : R), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 d) r)) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 d) r)) (ite.{succ u2} R (Eq.{succ u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) d (OfNat.ofNat.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) 0 (Zero.toOfNat0.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.zero.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))))) (Finsupp.decidableEq.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (fun (a : σ) (b : σ) => _inst_3 a b) (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) d (OfNat.ofNat.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) 0 (Zero.toOfNat0.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.zero.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))))) r (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.constant_coeff_monomial MvPolynomial.constantCoeff_monomialₓ'. -/
theorem constantCoeff_monomial [DecidableEq σ] (d : σ →₀ ℕ) (r : R) :
constantCoeff (monomial d r) = if d = 0 then r else 0 := by
@@ -1595,7 +1595,7 @@ section AsSum
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (p : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{succ (max u2 u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (Finset.sum.{max u2 u1, u2} (MvPolynomial.{u2, u1} σ R _inst_1) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (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))))) (MvPolynomial.support.{u1, u2} R σ _inst_1 p) (fun (v : Finsupp.{u2, 0} σ Nat Nat.hasZero) => coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 v) (MvPolynomial.coeff.{u1, u2} R σ _inst_1 v p))) p
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u1, u2} σ R _inst_1) (Finset.sum.{max u2 u1, u1} (MvPolynomial.{u1, u2} σ R _inst_1) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (MvPolynomial.support.{u2, u1} R σ _inst_1 p) (fun (v : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 v) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 v p))) p
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u1, u2} σ R _inst_1) (Finset.sum.{max u2 u1, u1} (MvPolynomial.{u1, u2} σ R _inst_1) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (MvPolynomial.support.{u2, u1} R σ _inst_1 p) (fun (v : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 v) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 v p))) p
Case conversion may be inaccurate. Consider using '#align mv_polynomial.support_sum_monomial_coeff MvPolynomial.support_sum_monomial_coeffₓ'. -/
@[simp]
theorem support_sum_monomial_coeff (p : MvPolynomial σ R) :
@@ -1607,7 +1607,7 @@ theorem support_sum_monomial_coeff (p : MvPolynomial σ R) :
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (p : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) p (Finset.sum.{max u2 u1, u2} (MvPolynomial.{u2, u1} σ R _inst_1) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (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))))) (MvPolynomial.support.{u1, u2} R σ _inst_1 p) (fun (v : Finsupp.{u2, 0} σ Nat Nat.hasZero) => coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 v) (MvPolynomial.coeff.{u1, u2} R σ _inst_1 v p)))
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u1, u2} σ R _inst_1) p (Finset.sum.{max u2 u1, u1} (MvPolynomial.{u1, u2} σ R _inst_1) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (MvPolynomial.support.{u2, u1} R σ _inst_1 p) (fun (v : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 v) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 v p)))
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u1, u2} σ R _inst_1) p (Finset.sum.{max u2 u1, u1} (MvPolynomial.{u1, u2} σ R _inst_1) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (MvPolynomial.support.{u2, u1} R σ _inst_1 p) (fun (v : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 v) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 v p)))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.as_sum MvPolynomial.as_sumₓ'. -/
theorem as_sum (p : MvPolynomial σ R) : p = ∑ v in p.support, monomial v (coeff v p) :=
(support_sum_monomial_coeff p).symm
@@ -1679,7 +1679,7 @@ theorem eval₂_add : (p + q).eval₂ f g = p.eval₂ f g + q.eval₂ f g := by
lean 3 declaration is
forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} {a : R} {s : Finsupp.{u3, 0} σ Nat Nat.hasZero} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : σ -> S₁), Eq.{succ u2} S₁ (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g (coeFn.{max (succ u1) (succ (max u3 u1)), max (succ u1) (succ (max u3 u1))} (LinearMap.{u1, u1, u1, max u3 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u3 u1} 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 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))))) (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 -> (MvPolynomial.{u3, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) a)) (HMul.hMul.{u2, u2, u2} S₁ S₁ S₁ (instHMul.{u2} S₁ (Distrib.toHasMul.{u2} S₁ (NonUnitalNonAssocSemiring.toDistrib.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) f a) (Finsupp.prod.{u3, 0, u2} σ Nat S₁ Nat.hasZero (CommSemiring.toCommMonoid.{u2} S₁ _inst_2) s (fun (n : σ) (e : Nat) => HPow.hPow.{u2, 0, u2} S₁ Nat S₁ (instHPow.{u2, 0} S₁ Nat (Monoid.Pow.{u2} S₁ (MonoidWithZero.toMonoid.{u2} S₁ (Semiring.toMonoidWithZero.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))))) (g n) e)))
but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} {a : R} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁), Eq.{succ u3} S₁ (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a)) (HMul.hMul.{u3, u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) S₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (instHMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (NonUnitalNonAssocSemiring.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2))))) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f a) (Finsupp.prod.{u1, 0, u3} σ Nat S₁ (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (CommSemiring.toCommMonoid.{u3} S₁ _inst_2) s (fun (n : σ) (e : Nat) => HPow.hPow.{u3, 0, u3} S₁ Nat S₁ (instHPow.{u3, 0} S₁ Nat (Monoid.Pow.{u3} S₁ (MonoidWithZero.toMonoid.{u3} S₁ (Semiring.toMonoidWithZero.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))))) (g n) e)))
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} {a : R} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁), Eq.{succ u3} S₁ (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a)) (HMul.hMul.{u3, u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) S₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (instHMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (NonUnitalNonAssocSemiring.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2))))) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f a) (Finsupp.prod.{u1, 0, u3} σ Nat S₁ (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (CommSemiring.toCommMonoid.{u3} S₁ _inst_2) s (fun (n : σ) (e : Nat) => HPow.hPow.{u3, 0, u3} S₁ Nat S₁ (instHPow.{u3, 0} S₁ Nat (Monoid.Pow.{u3} S₁ (MonoidWithZero.toMonoid.{u3} S₁ (Semiring.toMonoidWithZero.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))))) (g n) e)))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_monomial MvPolynomial.eval₂_monomialₓ'. -/
@[simp]
theorem eval₂_monomial : (monomial s a).eval₂ f g = f a * s.Prod fun n e => g n ^ e :=
@@ -1723,7 +1723,7 @@ theorem eval₂_X (n) : (X n).eval₂ f g = g n := by
lean 3 declaration is
forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] {p : MvPolynomial.{u3, u1} σ R _inst_1} (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : σ -> S₁) {s : Finsupp.{u3, 0} σ Nat Nat.hasZero} {a : R}, Eq.{succ u2} S₁ (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g (HMul.hMul.{max u3 u1, max u3 u1, max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u1} σ R _inst_1) (instHMul.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (Distrib.toHasMul.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) p (coeFn.{max (succ u1) (succ (max u3 u1)), max (succ u1) (succ (max u3 u1))} (LinearMap.{u1, u1, u1, max u3 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u3 u1} 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 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))))) (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 -> (MvPolynomial.{u3, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) a))) (HMul.hMul.{u2, u2, u2} S₁ S₁ S₁ (instHMul.{u2} S₁ (Distrib.toHasMul.{u2} S₁ (NonUnitalNonAssocSemiring.toDistrib.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))))) (HMul.hMul.{u2, u2, u2} S₁ S₁ S₁ (instHMul.{u2} S₁ (Distrib.toHasMul.{u2} S₁ (NonUnitalNonAssocSemiring.toDistrib.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))))) (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g p) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) f a)) (Finsupp.prod.{u3, 0, u2} σ Nat S₁ Nat.hasZero (CommSemiring.toCommMonoid.{u2} S₁ _inst_2) s (fun (n : σ) (e : Nat) => HPow.hPow.{u2, 0, u2} S₁ Nat S₁ (instHPow.{u2, 0} S₁ Nat (Monoid.Pow.{u2} S₁ (MonoidWithZero.toMonoid.{u2} S₁ (Semiring.toMonoidWithZero.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))))) (g n) e)))
but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] {p : MvPolynomial.{u1, u2} σ R _inst_1} (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁) {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} {a : R}, Eq.{succ u3} S₁ (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) p (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a))) (HMul.hMul.{u3, u3, u3} S₁ S₁ S₁ (instHMul.{u3} S₁ (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))))) (HMul.hMul.{u3, u3, u3} S₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) S₁ (instHMul.{u3} S₁ (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))))) (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g p) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f a)) (Finsupp.prod.{u1, 0, u3} σ Nat S₁ (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (CommSemiring.toCommMonoid.{u3} S₁ _inst_2) s (fun (n : σ) (e : Nat) => HPow.hPow.{u3, 0, u3} S₁ Nat S₁ (instHPow.{u3, 0} S₁ Nat (Monoid.Pow.{u3} S₁ (MonoidWithZero.toMonoid.{u3} S₁ (Semiring.toMonoidWithZero.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))))) (g n) e)))
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] {p : MvPolynomial.{u1, u2} σ R _inst_1} (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁) {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} {a : R}, Eq.{succ u3} S₁ (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) p (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a))) (HMul.hMul.{u3, u3, u3} S₁ S₁ S₁ (instHMul.{u3} S₁ (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))))) (HMul.hMul.{u3, u3, u3} S₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) S₁ (instHMul.{u3} S₁ (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))))) (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g p) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f a)) (Finsupp.prod.{u1, 0, u3} σ Nat S₁ (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (CommSemiring.toCommMonoid.{u3} S₁ _inst_2) s (fun (n : σ) (e : Nat) => HPow.hPow.{u3, 0, u3} S₁ Nat S₁ (instHPow.{u3, 0} S₁ Nat (Monoid.Pow.{u3} S₁ (MonoidWithZero.toMonoid.{u3} S₁ (Semiring.toMonoidWithZero.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))))) (g n) e)))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_mul_monomial MvPolynomial.eval₂_mul_monomialₓ'. -/
theorem eval₂_mul_monomial :
∀ {s a}, (p * monomial s a).eval₂ f g = p.eval₂ f g * f a * s.Prod fun n e => g n ^ e := by
@@ -1875,7 +1875,7 @@ theorem map_eval₂Hom [CommSemiring S₂] (f : R →+* S₁) (g : σ → S₁)
lean 3 declaration is
forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : σ -> S₁) (d : Finsupp.{u3, 0} σ Nat Nat.hasZero) (r : R), Eq.{succ u2} S₁ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (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))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (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))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) (RingHom.hasCoeToFun.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (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))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (MvPolynomial.eval₂Hom.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g) (coeFn.{max (succ u1) (succ (max u3 u1)), max (succ u1) (succ (max u3 u1))} (LinearMap.{u1, u1, u1, max u3 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u3 u1} 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 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))))) (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 -> (MvPolynomial.{u3, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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)) (HMul.hMul.{u2, u2, u2} S₁ S₁ S₁ (instHMul.{u2} S₁ (Distrib.toHasMul.{u2} S₁ (NonUnitalNonAssocSemiring.toDistrib.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) f r) (Finsupp.prod.{u3, 0, u2} σ Nat S₁ Nat.hasZero (CommSemiring.toCommMonoid.{u2} S₁ _inst_2) d (fun (i : σ) (k : Nat) => HPow.hPow.{u2, 0, u2} S₁ Nat S₁ (instHPow.{u2, 0} S₁ Nat (Monoid.Pow.{u2} S₁ (MonoidWithZero.toMonoid.{u2} S₁ (Semiring.toMonoidWithZero.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))))) (g i) k)))
but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁) (d : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (r : R), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 d) r)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} 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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 d) r)) (HMul.hMul.{u3, u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) S₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (instHMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (NonUnitalNonAssocSemiring.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2))))) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f r) (Finsupp.prod.{u1, 0, u3} σ Nat S₁ (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (CommSemiring.toCommMonoid.{u3} S₁ _inst_2) d (fun (i : σ) (k : Nat) => HPow.hPow.{u3, 0, u3} S₁ Nat S₁ (instHPow.{u3, 0} S₁ Nat (Monoid.Pow.{u3} S₁ (MonoidWithZero.toMonoid.{u3} S₁ (Semiring.toMonoidWithZero.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))))) (g i) k)))
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁) (d : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (r : R), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 d) r)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} 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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 d) r)) (HMul.hMul.{u3, u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) S₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (instHMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (NonUnitalNonAssocSemiring.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2))))) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f r) (Finsupp.prod.{u1, 0, u3} σ Nat S₁ (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (CommSemiring.toCommMonoid.{u3} S₁ _inst_2) d (fun (i : σ) (k : Nat) => HPow.hPow.{u3, 0, u3} S₁ Nat S₁ (instHPow.{u3, 0} S₁ Nat (Monoid.Pow.{u3} S₁ (MonoidWithZero.toMonoid.{u3} S₁ (Semiring.toMonoidWithZero.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))))) (g i) k)))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_hom_monomial MvPolynomial.eval₂Hom_monomialₓ'. -/
theorem eval₂Hom_monomial (f : R →+* S₁) (g : σ → S₁) (d : σ →₀ ℕ) (r : R) :
eval₂Hom f g (monomial d r) = f r * d.Prod fun i k => g i ^ k := by
@@ -2006,7 +2006,7 @@ theorem eval_eq' [Fintype σ] (x : σ → R) (f : MvPolynomial σ R) :
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} {a : R} {s : Finsupp.{u2, 0} σ Nat Nat.hasZero} [_inst_1 : CommSemiring.{u1} R] {f : σ -> R}, Eq.{succ u1} R (coeFn.{max (succ (max u2 u1)) (succ u1), max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u2, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.eval.{u1, u2} R σ _inst_1 f) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) a)) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) a (Finsupp.prod.{u2, 0, u1} σ Nat R Nat.hasZero (CommSemiring.toCommMonoid.{u1} R _inst_1) s (fun (n : σ) (e : Nat) => HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (f n) e)))
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u2} R] {f : σ -> R}, Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.eval.{u2, u1} R σ _inst_1 f) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a)) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) a (Finsupp.prod.{u1, 0, u2} σ Nat R (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (CommSemiring.toCommMonoid.{u2} R _inst_1) s (fun (n : σ) (e : Nat) => HPow.hPow.{u2, 0, u2} R Nat R (instHPow.{u2, 0} R Nat (Monoid.Pow.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (f n) e)))
+ forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u2} R] {f : σ -> R}, Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.eval.{u2, u1} R σ _inst_1 f) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a)) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) a (Finsupp.prod.{u1, 0, u2} σ Nat R (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (CommSemiring.toCommMonoid.{u2} R _inst_1) s (fun (n : σ) (e : Nat) => HPow.hPow.{u2, 0, u2} R Nat R (instHPow.{u2, 0} R Nat (Monoid.Pow.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (f n) e)))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval_monomial MvPolynomial.eval_monomialₓ'. -/
theorem eval_monomial : eval f (monomial s a) = a * s.Prod fun n e => f n ^ e :=
eval₂_monomial _ _
@@ -2129,7 +2129,7 @@ def map : MvPolynomial σ R →+* MvPolynomial σ S₁ :=
lean 3 declaration is
forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (s : Finsupp.{u3, 0} σ Nat Nat.hasZero) (a : R), Eq.{max (succ u3) (succ u2)} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (coeFn.{max (succ (max u3 u1)) (succ (max u3 u2)), max (succ (max u3 u1)) (succ (max u3 u2))} (RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (fun (_x : RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> (MvPolynomial.{u3, u2} σ S₁ _inst_2)) (RingHom.hasCoeToFun.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (MvPolynomial.map.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f) (coeFn.{max (succ u1) (succ (max u3 u1)), max (succ u1) (succ (max u3 u1))} (LinearMap.{u1, u1, u1, max u3 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u3 u1} 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 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))))) (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 -> (MvPolynomial.{u3, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) a)) (coeFn.{max (succ u2) (succ (max u3 u2)), max (succ u2) (succ (max u3 u2))} (LinearMap.{u2, u2, u2, max u3 u2} S₁ S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (RingHom.id.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) S₁ (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))))) (Semiring.toModule.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (MvPolynomial.module.{u2, u2, u3} S₁ S₁ σ (CommSemiring.toSemiring.{u2} S₁ _inst_2) _inst_2 (Semiring.toModule.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))) (fun (_x : LinearMap.{u2, u2, u2, max u3 u2} S₁ S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (RingHom.id.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) S₁ (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))))) (Semiring.toModule.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (MvPolynomial.module.{u2, u2, u3} S₁ S₁ σ (CommSemiring.toSemiring.{u2} S₁ _inst_2) _inst_2 (Semiring.toModule.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))) => S₁ -> (MvPolynomial.{u3, u2} σ S₁ _inst_2)) (LinearMap.hasCoeToFun.{u2, u2, u2, max u3 u2} S₁ S₁ S₁ (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))))) (Semiring.toModule.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (MvPolynomial.module.{u2, u2, u3} S₁ S₁ σ (CommSemiring.toSemiring.{u2} S₁ _inst_2) _inst_2 (Semiring.toModule.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (RingHom.id.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))) (MvPolynomial.monomial.{u2, u3} S₁ σ _inst_2 s) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) f a))
but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (a : R), Eq.{max (succ u3) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a)) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearMap.{u3, u3, u3, max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (RingHom.id.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) σ _inst_2))))) (Semiring.toModule.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2)) (MvPolynomial.module.{u3, u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) σ (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) _inst_2 (Semiring.toModule.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2)))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) => MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u3, max u1 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) σ _inst_2))))) (Semiring.toModule.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2)) (MvPolynomial.module.{u3, u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) σ (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) _inst_2 (Semiring.toModule.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2))) (RingHom.id.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2)))) (MvPolynomial.monomial.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) σ _inst_2 s) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f a))
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (a : R), Eq.{max (succ u3) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a)) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearMap.{u3, u3, u3, max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (RingHom.id.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) σ _inst_2))))) (Semiring.toModule.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2)) (MvPolynomial.module.{u3, u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) σ (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) _inst_2 (Semiring.toModule.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2)))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) => MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u3, max u1 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) σ _inst_2))))) (Semiring.toModule.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2)) (MvPolynomial.module.{u3, u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) σ (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) _inst_2 (Semiring.toModule.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2))) (RingHom.id.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2)))) (MvPolynomial.monomial.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) σ _inst_2 s) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f a))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.map_monomial MvPolynomial.map_monomialₓ'. -/
@[simp]
theorem map_monomial (s : σ →₀ ℕ) (a : R) : map f (monomial s a) = monomial s (f a) :=
@@ -2521,7 +2521,7 @@ def aeval : MvPolynomial σ R →ₐ[R] S₁ :=
lean 3 declaration is
forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : Algebra.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2)] (f : σ -> S₁) (p : MvPolynomial.{u3, u1} σ R _inst_1), Eq.{succ u2} S₁ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (fun (_x : AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) ([anonymous].{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (MvPolynomial.aeval.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 _inst_3 f) p) (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 (algebraMap.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) _inst_3) f p)
but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : Algebra.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2)] (f : σ -> S₁) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) p) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u1) (succ u2), succ u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (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) => S₁) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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, 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.{u2, 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.{u2, u3} R S₁ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{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.{u2, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, 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.{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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u1 u2, u3, max (max u3 u1) u2} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3 (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (AlgHom.algHomClass.{u2, max u1 u2, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3))))) (MvPolynomial.aeval.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_3 f) p) (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 (algebraMap.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3) f p)
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : Algebra.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2)] (f : σ -> S₁) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) p) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u1) (succ u2), succ u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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, 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.{u2, 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.{u2, u3} R S₁ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{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.{u2, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, 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.{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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u1 u2, u3, max (max u3 u1) u2} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3 (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (AlgHom.algHomClass.{u2, max u1 u2, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3))))) (MvPolynomial.aeval.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_3 f) p) (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 (algebraMap.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3) f p)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_def MvPolynomial.aeval_defₓ'. -/
theorem aeval_def (p : MvPolynomial σ R) : aeval f p = eval₂ (algebraMap R S₁) f p :=
rfl
@@ -2531,7 +2531,7 @@ theorem aeval_def (p : MvPolynomial σ R) : aeval f p = eval₂ (algebraMap R S
lean 3 declaration is
forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : Algebra.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2)] (f : σ -> S₁) (p : MvPolynomial.{u3, u1} σ R _inst_1), Eq.{succ u2} S₁ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (fun (_x : AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) ([anonymous].{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (MvPolynomial.aeval.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 _inst_3 f) p) (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (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))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (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))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) (RingHom.hasCoeToFun.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (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))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (MvPolynomial.eval₂Hom.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 (algebraMap.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) _inst_3) f) p)
but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : Algebra.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2)] (f : σ -> S₁) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) p) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u1) (succ u2), succ u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (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) => S₁) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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, 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.{u2, 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.{u2, u3} R S₁ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{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.{u2, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, 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.{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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u1 u2, u3, max (max u3 u1) u2} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3 (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (AlgHom.algHomClass.{u2, max u1 u2, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3))))) (MvPolynomial.aeval.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_3 f) p) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} 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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 (algebraMap.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3) f) p)
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : Algebra.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2)] (f : σ -> S₁) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) p) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u1) (succ u2), succ u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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, 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.{u2, 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.{u2, u3} R S₁ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{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.{u2, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, 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.{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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u1 u2, u3, max (max u3 u1) u2} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3 (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (AlgHom.algHomClass.{u2, max u1 u2, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3))))) (MvPolynomial.aeval.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_3 f) p) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} 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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 (algebraMap.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3) f) p)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_eq_eval₂_hom MvPolynomial.aeval_eq_eval₂Homₓ'. -/
theorem aeval_eq_eval₂Hom (p : MvPolynomial σ R) : aeval f p = eval₂Hom (algebraMap R S₁) f p :=
rfl
@@ -2541,7 +2541,7 @@ theorem aeval_eq_eval₂Hom (p : MvPolynomial σ R) : aeval f p = eval₂Hom (al
lean 3 declaration is
forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : Algebra.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2)] (f : σ -> S₁) (s : σ), Eq.{succ u2} S₁ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (fun (_x : AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) ([anonymous].{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (MvPolynomial.aeval.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 _inst_3 f) (MvPolynomial.X.{u1, u3} R σ _inst_1 s)) (f s)
but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : Algebra.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2)] (f : σ -> S₁) (s : σ), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) (MvPolynomial.X.{u2, u1} R σ _inst_1 s)) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u1) (succ u2), succ u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (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) => S₁) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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, 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.{u2, 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.{u2, u3} R S₁ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{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.{u2, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, 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.{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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u1 u2, u3, max (max u3 u1) u2} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3 (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (AlgHom.algHomClass.{u2, max u1 u2, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3))))) (MvPolynomial.aeval.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_3 f) (MvPolynomial.X.{u2, u1} R σ _inst_1 s)) (f s)
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : Algebra.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2)] (f : σ -> S₁) (s : σ), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) (MvPolynomial.X.{u2, u1} R σ _inst_1 s)) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u1) (succ u2), succ u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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, 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.{u2, 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.{u2, u3} R S₁ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{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.{u2, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, 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.{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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u1 u2, u3, max (max u3 u1) u2} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3 (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (AlgHom.algHomClass.{u2, max u1 u2, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3))))) (MvPolynomial.aeval.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_3 f) (MvPolynomial.X.{u2, u1} R σ _inst_1 s)) (f s)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_X MvPolynomial.aeval_Xₓ'. -/
@[simp]
theorem aeval_X (s : σ) : aeval f (X s : MvPolynomial _ R) = f s :=
@@ -2552,7 +2552,7 @@ theorem aeval_X (s : σ) : aeval f (X s : MvPolynomial _ R) = f s :=
lean 3 declaration is
forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : Algebra.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2)] (f : σ -> S₁) (r : R), Eq.{succ u2} S₁ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (fun (_x : AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) ([anonymous].{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (MvPolynomial.aeval.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 _inst_3 f) (coeFn.{max (succ u1) (succ (max u3 u1)), max (succ u1) (succ (max u3 u1))} (RingHom.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u3, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u3} R σ _inst_1) r)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (algebraMap.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) _inst_3) r)
but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : Algebra.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2)] (f : σ -> S₁) (r : R), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) (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.2397 : 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 u3) (succ u1)) (succ u2), max (succ u1) (succ u2), succ u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (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) => S₁) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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, 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.{u2, 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.{u2, u3} R S₁ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{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.{u2, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, 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.{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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u1 u2, u3, max (max u3 u1) u2} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3 (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (AlgHom.algHomClass.{u2, max u1 u2, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3))))) (MvPolynomial.aeval.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_3 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.2397 : 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 u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (algebraMap.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3) r)
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : Algebra.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2)] (f : σ -> S₁) (r : R), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) (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.2397 : 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 u3) (succ u1)) (succ u2), max (succ u1) (succ u2), succ u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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, 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.{u2, 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.{u2, u3} R S₁ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{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.{u2, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, 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.{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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u1 u2, u3, max (max u3 u1) u2} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3 (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (AlgHom.algHomClass.{u2, max u1 u2, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3))))) (MvPolynomial.aeval.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_3 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.2397 : 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 u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (algebraMap.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3) r)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_C MvPolynomial.aeval_Cₓ'. -/
@[simp]
theorem aeval_C (r : R) : aeval f (C r) = algebraMap R S₁ r :=
@@ -2563,7 +2563,7 @@ theorem aeval_C (r : R) : aeval f (C r) = algebraMap R S₁ r :=
lean 3 declaration is
forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : Algebra.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2)] (φ : AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3), Eq.{max (succ (max u3 u1)) (succ u2)} (AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) φ (MvPolynomial.aeval.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 _inst_3 (Function.comp.{succ u3, max (succ u3) (succ u1), succ u2} σ (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (fun (_x : AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) ([anonymous].{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) φ) (MvPolynomial.X.{u1, u3} R σ _inst_1)))
but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : Algebra.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2)] (φ : AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3), Eq.{max (max (succ u2) (succ u3)) (succ u1)} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) φ (MvPolynomial.aeval.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_3 (Function.comp.{succ u1, max (succ u2) (succ u1), succ u3} σ (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (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) => S₁) _x) (SMulHomClass.toFunLike.{max (max u2 u3) u1, u2, max u2 u1, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (SMulZeroClass.toSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (AddMonoid.toZero.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) (Module.toDistribMulAction.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Algebra.toModule.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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, 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.{u2, 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.{u2, u3} R S₁ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{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.{u2, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u3) u1, u2, max u2 u1, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) (AddCommMonoid.toAddMonoid.{u3} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))))) (Module.toDistribMulAction.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Algebra.toModule.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u2 u3) u1, u2, max u2 u1, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (Module.toDistribMulAction.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Algebra.toModule.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u2 u1, u3, max (max u2 u3) u1} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3 (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (AlgHom.algHomClass.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3))))) φ) (MvPolynomial.X.{u2, u1} R σ _inst_1)))
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : Algebra.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2)] (φ : AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3), Eq.{max (max (succ u2) (succ u3)) (succ u1)} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) φ (MvPolynomial.aeval.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_3 (Function.comp.{succ u1, max (succ u2) (succ u1), succ u3} σ (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) _x) (SMulHomClass.toFunLike.{max (max u2 u3) u1, u2, max u2 u1, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (SMulZeroClass.toSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (AddMonoid.toZero.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) (Module.toDistribMulAction.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Algebra.toModule.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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, 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.{u2, 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.{u2, u3} R S₁ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{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.{u2, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u3) u1, u2, max u2 u1, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) (AddCommMonoid.toAddMonoid.{u3} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))))) (Module.toDistribMulAction.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Algebra.toModule.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u2 u3) u1, u2, max u2 u1, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (Module.toDistribMulAction.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Algebra.toModule.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u2 u1, u3, max (max u2 u3) u1} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3 (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (AlgHom.algHomClass.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3))))) φ) (MvPolynomial.X.{u2, u1} R σ _inst_1)))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_unique MvPolynomial.aeval_uniqueₓ'. -/
theorem aeval_unique (φ : MvPolynomial σ R →ₐ[R] S₁) : φ = aeval (φ ∘ X) :=
by
@@ -2585,7 +2585,7 @@ theorem aeval_X_left : aeval X = AlgHom.id R (MvPolynomial σ R) :=
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (p : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{succ (max u2 u1), succ (max u2 u1)} (AlgHom.{u1, max u2 u1, max u2 u1} 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))) (fun (_x : AlgHom.{u1, max u2 u1, max u2 u1} 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) -> (MvPolynomial.{u2, u1} σ R _inst_1)) ([anonymous].{u1, max u2 u1, max u2 u1} 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.aeval.{u1, max u2 u1, u2} R (MvPolynomial.{u2, u1} σ R _inst_1) σ _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.X.{u1, u2} R σ _inst_1)) p) p
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u2} σ R _inst_1) p) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u1) (succ u2)} (AlgHom.{u2, max u2 u1, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (SMulHomClass.toFunLike.{max u2 u1, u2, max u2 u1, max u1 u2} (AlgHom.{u2, max u2 u1, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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))) R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (SMulZeroClass.toSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (AddMonoid.toZero.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) (Module.toDistribMulAction.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Algebra.toModule.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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 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 u2 u1, u2, max u2 u1, max u1 u2} (AlgHom.{u2, max u2 u1, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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))) R (MvPolynomial.{u1, 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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) (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 u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Algebra.toModule.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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 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 u2 u1, u2, max u2 u1, max u1 u2} (AlgHom.{u2, max u2 u1, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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))) R (MvPolynomial.{u1, 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 u2 u1} (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.{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 u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Algebra.toModule.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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 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 u2 u1, max u1 u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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)) (AlgHom.{u2, max u2 u1, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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))) (AlgHom.algHomClass.{u2, max u2 u1, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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.aeval.{u2, max u1 u2, u1} R (MvPolynomial.{u1, u2} σ R _inst_1) σ _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.X.{u2, u1} R σ _inst_1)) p) p
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u2} σ R _inst_1) p) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u1) (succ u2)} (AlgHom.{u2, max u2 u1, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (SMulHomClass.toFunLike.{max u2 u1, u2, max u2 u1, max u1 u2} (AlgHom.{u2, max u2 u1, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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))) R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (SMulZeroClass.toSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (AddMonoid.toZero.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) (Module.toDistribMulAction.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Algebra.toModule.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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 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 u2 u1, u2, max u2 u1, max u1 u2} (AlgHom.{u2, max u2 u1, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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))) R (MvPolynomial.{u1, 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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) (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 u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Algebra.toModule.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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 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 u2 u1, u2, max u2 u1, max u1 u2} (AlgHom.{u2, max u2 u1, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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))) R (MvPolynomial.{u1, 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 u2 u1} (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.{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 u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Algebra.toModule.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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 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 u2 u1, max u1 u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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)) (AlgHom.{u2, max u2 u1, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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))) (AlgHom.algHomClass.{u2, max u2 u1, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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.aeval.{u2, max u1 u2, u1} R (MvPolynomial.{u1, u2} σ R _inst_1) σ _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.X.{u2, u1} R σ _inst_1)) p) p
Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_X_left_apply MvPolynomial.aeval_X_left_applyₓ'. -/
theorem aeval_X_left_apply (p : MvPolynomial σ R) : aeval X p = p :=
AlgHom.congr_fun aeval_X_left p
@@ -2595,7 +2595,7 @@ theorem aeval_X_left_apply (p : MvPolynomial σ R) : aeval X p = p :=
lean 3 declaration is
forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : Algebra.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2)] (f : σ -> S₁) {B : Type.{u4}} [_inst_5 : CommSemiring.{u4} B] [_inst_6 : Algebra.{u1, u4} R B _inst_1 (CommSemiring.toSemiring.{u4} B _inst_5)] (φ : AlgHom.{u1, u2, u4} R S₁ B _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) (CommSemiring.toSemiring.{u4} B _inst_5) _inst_3 _inst_6), Eq.{max (succ (max u3 u1)) (succ u4)} (AlgHom.{u1, max u3 u1, u4} R (MvPolynomial.{u3, u1} σ R _inst_1) B _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u4} B _inst_5) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_6) (AlgHom.comp.{u1, max u3 u1, u2, u4} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ B _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (CommSemiring.toSemiring.{u4} B _inst_5) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3 _inst_6 φ (MvPolynomial.aeval.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 _inst_3 f)) (MvPolynomial.aeval.{u1, u4, u3} R B σ _inst_1 _inst_5 _inst_6 (fun (i : σ) => coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (AlgHom.{u1, u2, u4} R S₁ B _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) (CommSemiring.toSemiring.{u4} B _inst_5) _inst_3 _inst_6) (fun (_x : AlgHom.{u1, u2, u4} R S₁ B _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) (CommSemiring.toSemiring.{u4} B _inst_5) _inst_3 _inst_6) => S₁ -> B) ([anonymous].{u1, u2, u4} R S₁ B _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) (CommSemiring.toSemiring.{u4} B _inst_5) _inst_3 _inst_6) φ (f i)))
but is expected to have type
- forall {R : Type.{u3}} {S₁ : Type.{u4}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] [_inst_2 : CommSemiring.{u4} S₁] [_inst_3 : Algebra.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2)] (f : σ -> S₁) {B : Type.{u2}} [_inst_5 : CommSemiring.{u2} B] [_inst_6 : Algebra.{u3, u2} R B _inst_1 (CommSemiring.toSemiring.{u2} B _inst_5)] (φ : AlgHom.{u3, u4, u2} R S₁ B _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) (CommSemiring.toSemiring.{u2} B _inst_5) _inst_3 _inst_6), Eq.{max (max (succ u3) (succ u1)) (succ u2)} (AlgHom.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) B _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u2} B _inst_5) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_6) (AlgHom.comp.{u3, max u3 u1, u4, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ B _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u4} S₁ _inst_2) (CommSemiring.toSemiring.{u2} B _inst_5) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_3 _inst_6 φ (MvPolynomial.aeval.{u3, u4, u1} R S₁ σ _inst_1 _inst_2 _inst_3 f)) (MvPolynomial.aeval.{u3, u2, u1} R B σ _inst_1 _inst_5 _inst_6 (fun (i : σ) => FunLike.coe.{max (succ u4) (succ u2), succ u4, succ u2} (AlgHom.{u3, u4, u2} R S₁ B _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) (CommSemiring.toSemiring.{u2} B _inst_5) _inst_3 _inst_6) S₁ (fun (_x : S₁) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : S₁) => B) _x) (SMulHomClass.toFunLike.{max u4 u2, u3, u4, u2} (AlgHom.{u3, u4, u2} R S₁ B _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) (CommSemiring.toSemiring.{u2} B _inst_5) _inst_3 _inst_6) R S₁ B (SMulZeroClass.toSMul.{u3, u4} R S₁ (AddMonoid.toZero.{u4} S₁ (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))))) (DistribSMul.toSMulZeroClass.{u3, u4} R S₁ (AddMonoid.toAddZeroClass.{u4} S₁ (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))))) (DistribMulAction.toDistribSMul.{u3, u4} R S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3))))) (SMulZeroClass.toSMul.{u3, u2} R B (AddMonoid.toZero.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)))))) (DistribSMul.toSMulZeroClass.{u3, u2} R B (AddMonoid.toAddZeroClass.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)))))) (DistribMulAction.toDistribSMul.{u3, u2} R B (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))))) (Module.toDistribMulAction.{u3, u2} R B (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)))) (Algebra.toModule.{u3, u2} R B _inst_1 (CommSemiring.toSemiring.{u2} B _inst_5) _inst_6))))) (DistribMulActionHomClass.toSMulHomClass.{max u4 u2, u3, u4, u2} (AlgHom.{u3, u4, u2} R S₁ B _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) (CommSemiring.toSemiring.{u2} B _inst_5) _inst_3 _inst_6) R S₁ B (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))))) (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3)) (Module.toDistribMulAction.{u3, u2} R B (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)))) (Algebra.toModule.{u3, u2} R B _inst_1 (CommSemiring.toSemiring.{u2} B _inst_5) _inst_6)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u4 u2, u3, u4, u2} (AlgHom.{u3, u4, u2} R S₁ B _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) (CommSemiring.toSemiring.{u2} B _inst_5) _inst_3 _inst_6) R S₁ B (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3)) (Module.toDistribMulAction.{u3, u2} R B (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)))) (Algebra.toModule.{u3, u2} R B _inst_1 (CommSemiring.toSemiring.{u2} B _inst_5) _inst_6)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u3, u4, u2, max u4 u2} R S₁ B _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) (CommSemiring.toSemiring.{u2} B _inst_5) _inst_3 _inst_6 (AlgHom.{u3, u4, u2} R S₁ B _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) (CommSemiring.toSemiring.{u2} B _inst_5) _inst_3 _inst_6) (AlgHom.algHomClass.{u3, u4, u2} R S₁ B _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) (CommSemiring.toSemiring.{u2} B _inst_5) _inst_3 _inst_6))))) φ (f i)))
+ forall {R : Type.{u3}} {S₁ : Type.{u4}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] [_inst_2 : CommSemiring.{u4} S₁] [_inst_3 : Algebra.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2)] (f : σ -> S₁) {B : Type.{u2}} [_inst_5 : CommSemiring.{u2} B] [_inst_6 : Algebra.{u3, u2} R B _inst_1 (CommSemiring.toSemiring.{u2} B _inst_5)] (φ : AlgHom.{u3, u4, u2} R S₁ B _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) (CommSemiring.toSemiring.{u2} B _inst_5) _inst_3 _inst_6), Eq.{max (max (succ u3) (succ u1)) (succ u2)} (AlgHom.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) B _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u2} B _inst_5) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_6) (AlgHom.comp.{u3, max u3 u1, u4, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ B _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u4} S₁ _inst_2) (CommSemiring.toSemiring.{u2} B _inst_5) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_3 _inst_6 φ (MvPolynomial.aeval.{u3, u4, u1} R S₁ σ _inst_1 _inst_2 _inst_3 f)) (MvPolynomial.aeval.{u3, u2, u1} R B σ _inst_1 _inst_5 _inst_6 (fun (i : σ) => FunLike.coe.{max (succ u4) (succ u2), succ u4, succ u2} (AlgHom.{u3, u4, u2} R S₁ B _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) (CommSemiring.toSemiring.{u2} B _inst_5) _inst_3 _inst_6) S₁ (fun (_x : S₁) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S₁) => B) _x) (SMulHomClass.toFunLike.{max u4 u2, u3, u4, u2} (AlgHom.{u3, u4, u2} R S₁ B _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) (CommSemiring.toSemiring.{u2} B _inst_5) _inst_3 _inst_6) R S₁ B (SMulZeroClass.toSMul.{u3, u4} R S₁ (AddMonoid.toZero.{u4} S₁ (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))))) (DistribSMul.toSMulZeroClass.{u3, u4} R S₁ (AddMonoid.toAddZeroClass.{u4} S₁ (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))))) (DistribMulAction.toDistribSMul.{u3, u4} R S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3))))) (SMulZeroClass.toSMul.{u3, u2} R B (AddMonoid.toZero.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)))))) (DistribSMul.toSMulZeroClass.{u3, u2} R B (AddMonoid.toAddZeroClass.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)))))) (DistribMulAction.toDistribSMul.{u3, u2} R B (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))))) (Module.toDistribMulAction.{u3, u2} R B (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)))) (Algebra.toModule.{u3, u2} R B _inst_1 (CommSemiring.toSemiring.{u2} B _inst_5) _inst_6))))) (DistribMulActionHomClass.toSMulHomClass.{max u4 u2, u3, u4, u2} (AlgHom.{u3, u4, u2} R S₁ B _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) (CommSemiring.toSemiring.{u2} B _inst_5) _inst_3 _inst_6) R S₁ B (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))))) (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3)) (Module.toDistribMulAction.{u3, u2} R B (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)))) (Algebra.toModule.{u3, u2} R B _inst_1 (CommSemiring.toSemiring.{u2} B _inst_5) _inst_6)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u4 u2, u3, u4, u2} (AlgHom.{u3, u4, u2} R S₁ B _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) (CommSemiring.toSemiring.{u2} B _inst_5) _inst_3 _inst_6) R S₁ B (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3)) (Module.toDistribMulAction.{u3, u2} R B (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)))) (Algebra.toModule.{u3, u2} R B _inst_1 (CommSemiring.toSemiring.{u2} B _inst_5) _inst_6)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u3, u4, u2, max u4 u2} R S₁ B _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) (CommSemiring.toSemiring.{u2} B _inst_5) _inst_3 _inst_6 (AlgHom.{u3, u4, u2} R S₁ B _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) (CommSemiring.toSemiring.{u2} B _inst_5) _inst_3 _inst_6) (AlgHom.algHomClass.{u3, u4, u2} R S₁ B _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) (CommSemiring.toSemiring.{u2} B _inst_5) _inst_3 _inst_6))))) φ (f i)))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.comp_aeval MvPolynomial.comp_aevalₓ'. -/
theorem comp_aeval {B : Type _} [CommSemiring B] [Algebra R B] (φ : S₁ →ₐ[R] B) :
φ.comp (aeval f) = aeval fun i => φ (f i) :=
@@ -2608,7 +2608,7 @@ theorem comp_aeval {B : Type _} [CommSemiring B] [Algebra R B] (φ : S₁ →ₐ
lean 3 declaration is
forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : Algebra.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2)] {B : Type.{u4}} [_inst_5 : CommSemiring.{u4} B] (g : σ -> S₁) (φ : RingHom.{u2, u4} S₁ B (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} B (CommSemiring.toSemiring.{u4} B _inst_5))) (p : MvPolynomial.{u3, u1} σ R _inst_1), Eq.{succ u4} B (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (RingHom.{u2, u4} S₁ B (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} B (CommSemiring.toSemiring.{u4} B _inst_5))) (fun (_x : RingHom.{u2, u4} S₁ B (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} B (CommSemiring.toSemiring.{u4} B _inst_5))) => S₁ -> B) (RingHom.hasCoeToFun.{u2, u4} S₁ B (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} B (CommSemiring.toSemiring.{u4} B _inst_5))) φ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (fun (_x : AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) ([anonymous].{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (MvPolynomial.aeval.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 _inst_3 g) p)) (coeFn.{max (succ (max u3 u1)) (succ u4), max (succ (max u3 u1)) (succ u4)} (RingHom.{max u3 u1, u4} (MvPolynomial.{u3, u1} σ R _inst_1) B (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))) (Semiring.toNonAssocSemiring.{u4} B (CommSemiring.toSemiring.{u4} B _inst_5))) (fun (_x : RingHom.{max u3 u1, u4} (MvPolynomial.{u3, u1} σ R _inst_1) B (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))) (Semiring.toNonAssocSemiring.{u4} B (CommSemiring.toSemiring.{u4} B _inst_5))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> B) (RingHom.hasCoeToFun.{max u3 u1, u4} (MvPolynomial.{u3, u1} σ R _inst_1) B (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))) (Semiring.toNonAssocSemiring.{u4} B (CommSemiring.toSemiring.{u4} B _inst_5))) (MvPolynomial.eval₂Hom.{u1, u4, u3} R B σ _inst_1 _inst_5 (RingHom.comp.{u1, u2, u4} R S₁ B (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} B (CommSemiring.toSemiring.{u4} B _inst_5)) φ (algebraMap.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) _inst_3)) (fun (i : σ) => coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (RingHom.{u2, u4} S₁ B (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} B (CommSemiring.toSemiring.{u4} B _inst_5))) (fun (_x : RingHom.{u2, u4} S₁ B (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} B (CommSemiring.toSemiring.{u4} B _inst_5))) => S₁ -> B) (RingHom.hasCoeToFun.{u2, u4} S₁ B (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} B (CommSemiring.toSemiring.{u4} B _inst_5))) φ (g i))) p)
but is expected to have type
- forall {R : Type.{u3}} {S₁ : Type.{u4}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] [_inst_2 : CommSemiring.{u4} S₁] [_inst_3 : Algebra.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2)] {B : Type.{u2}} [_inst_5 : CommSemiring.{u2} B] (g : σ -> S₁) (φ : RingHom.{u4, u2} S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) (p : MvPolynomial.{u1, u3} σ R _inst_1), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S₁) => B) (FunLike.coe.{max (max (succ u4) (succ u1)) (succ u3), max (succ u1) (succ u3), succ u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) (fun (a : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u3} σ R _inst_1) => S₁) a) (SMulHomClass.toFunLike.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (SMulZeroClass.toSMul.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toZero.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))))))) (SMulZeroClass.toSMul.{u3, u4} R S₁ (AddMonoid.toZero.{u4} S₁ (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))))) (DistribSMul.toSMulZeroClass.{u3, u4} R S₁ (AddMonoid.toAddZeroClass.{u4} S₁ (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))))) (DistribMulAction.toDistribSMul.{u3, u4} R S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u3, max u1 u3, u4, max (max u4 u1) u3} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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 (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) (AlgHom.algHomClass.{u3, max u1 u3, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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 g) p)) (FunLike.coe.{max (succ u4) (succ u2), succ u4, succ u2} (RingHom.{u4, u2} S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) S₁ (fun (_x : S₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S₁) => B) _x) (MulHomClass.toFunLike.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) S₁ B (NonUnitalNonAssocSemiring.toMul.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) S₁ B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) (RingHomClass.toNonUnitalRingHomClass.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)) (RingHom.instRingHomClassRingHom.{u4, u2} S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)))))) φ (FunLike.coe.{max (max (succ u4) (succ u1)) (succ u3), max (succ u1) (succ u3), succ u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u3} σ R _inst_1) => S₁) _x) (SMulHomClass.toFunLike.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (SMulZeroClass.toSMul.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toZero.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))))))) (SMulZeroClass.toSMul.{u3, u4} R S₁ (AddMonoid.toZero.{u4} S₁ (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))))) (DistribSMul.toSMulZeroClass.{u3, u4} R S₁ (AddMonoid.toAddZeroClass.{u4} S₁ (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))))) (DistribMulAction.toDistribSMul.{u3, u4} R S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u3, max u1 u3, u4, max (max u4 u1) u3} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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 (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) (AlgHom.algHomClass.{u3, max u1 u3, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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 g) p)) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u1), succ u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) B (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) (MvPolynomial.{u1, u3} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ R _inst_1) => B) _x) (MulHomClass.toFunLike.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) B (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) (MvPolynomial.{u1, u3} σ R _inst_1) B (NonUnitalNonAssocSemiring.toMul.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) B (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) (MvPolynomial.{u1, u3} σ R _inst_1) B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) (RingHomClass.toNonUnitalRingHomClass.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) B (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) (MvPolynomial.{u1, u3} σ R _inst_1) B (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)) (RingHom.instRingHomClassRingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) B (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)))))) (MvPolynomial.eval₂Hom.{u3, u2, u1} R B σ _inst_1 _inst_5 (RingHom.comp.{u3, u4, u2} R S₁ B (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)) φ (algebraMap.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3)) (fun (i : σ) => FunLike.coe.{max (succ u4) (succ u2), succ u4, succ u2} (RingHom.{u4, u2} S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) S₁ (fun (_x : S₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S₁) => B) _x) (MulHomClass.toFunLike.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) S₁ B (NonUnitalNonAssocSemiring.toMul.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) S₁ B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) (RingHomClass.toNonUnitalRingHomClass.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)) (RingHom.instRingHomClassRingHom.{u4, u2} S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)))))) φ (g i))) p)
+ forall {R : Type.{u3}} {S₁ : Type.{u4}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] [_inst_2 : CommSemiring.{u4} S₁] [_inst_3 : Algebra.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2)] {B : Type.{u2}} [_inst_5 : CommSemiring.{u2} B] (g : σ -> S₁) (φ : RingHom.{u4, u2} S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) (p : MvPolynomial.{u1, u3} σ R _inst_1), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S₁) => B) (FunLike.coe.{max (max (succ u4) (succ u1)) (succ u3), max (succ u1) (succ u3), succ u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) (fun (a : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u3} σ R _inst_1) => S₁) a) (SMulHomClass.toFunLike.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (SMulZeroClass.toSMul.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toZero.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))))))) (SMulZeroClass.toSMul.{u3, u4} R S₁ (AddMonoid.toZero.{u4} S₁ (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))))) (DistribSMul.toSMulZeroClass.{u3, u4} R S₁ (AddMonoid.toAddZeroClass.{u4} S₁ (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))))) (DistribMulAction.toDistribSMul.{u3, u4} R S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u3, max u1 u3, u4, max (max u4 u1) u3} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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 (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) (AlgHom.algHomClass.{u3, max u1 u3, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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 g) p)) (FunLike.coe.{max (succ u4) (succ u2), succ u4, succ u2} (RingHom.{u4, u2} S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) S₁ (fun (_x : S₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S₁) => B) _x) (MulHomClass.toFunLike.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) S₁ B (NonUnitalNonAssocSemiring.toMul.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) S₁ B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) (RingHomClass.toNonUnitalRingHomClass.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)) (RingHom.instRingHomClassRingHom.{u4, u2} S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)))))) φ (FunLike.coe.{max (max (succ u4) (succ u1)) (succ u3), max (succ u1) (succ u3), succ u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u3} σ R _inst_1) => S₁) _x) (SMulHomClass.toFunLike.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (SMulZeroClass.toSMul.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toZero.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))))))) (SMulZeroClass.toSMul.{u3, u4} R S₁ (AddMonoid.toZero.{u4} S₁ (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))))) (DistribSMul.toSMulZeroClass.{u3, u4} R S₁ (AddMonoid.toAddZeroClass.{u4} S₁ (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))))) (DistribMulAction.toDistribSMul.{u3, u4} R S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u3, max u1 u3, u4, max (max u4 u1) u3} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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 (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) (AlgHom.algHomClass.{u3, max u1 u3, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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 g) p)) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u1), succ u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) B (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) (MvPolynomial.{u1, u3} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ R _inst_1) => B) _x) (MulHomClass.toFunLike.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) B (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) (MvPolynomial.{u1, u3} σ R _inst_1) B (NonUnitalNonAssocSemiring.toMul.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) B (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) (MvPolynomial.{u1, u3} σ R _inst_1) B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) (RingHomClass.toNonUnitalRingHomClass.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) B (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) (MvPolynomial.{u1, u3} σ R _inst_1) B (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)) (RingHom.instRingHomClassRingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) B (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)))))) (MvPolynomial.eval₂Hom.{u3, u2, u1} R B σ _inst_1 _inst_5 (RingHom.comp.{u3, u4, u2} R S₁ B (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)) φ (algebraMap.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3)) (fun (i : σ) => FunLike.coe.{max (succ u4) (succ u2), succ u4, succ u2} (RingHom.{u4, u2} S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) S₁ (fun (_x : S₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S₁) => B) _x) (MulHomClass.toFunLike.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) S₁ B (NonUnitalNonAssocSemiring.toMul.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) S₁ B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) (RingHomClass.toNonUnitalRingHomClass.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)) (RingHom.instRingHomClassRingHom.{u4, u2} S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)))))) φ (g i))) p)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.map_aeval MvPolynomial.map_aevalₓ'. -/
@[simp]
theorem map_aeval {B : Type _} [CommSemiring B] (g : σ → S₁) (φ : S₁ →+* B) (p : MvPolynomial σ R) :
@@ -2690,7 +2690,7 @@ theorem eval₂_zero'_apply (f : R →+* S₂) (p : MvPolynomial σ R) :
lean 3 declaration is
forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : Algebra.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2)] (p : MvPolynomial.{u3, u1} σ R _inst_1), Eq.{succ u2} S₁ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (fun (_x : AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) ([anonymous].{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (MvPolynomial.aeval.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 _inst_3 (OfNat.ofNat.{max u3 u2} (σ -> S₁) 0 (OfNat.mk.{max u3 u2} (σ -> S₁) 0 (Zero.zero.{max u3 u2} (σ -> S₁) (Pi.instZero.{u3, u2} σ (fun (ᾰ : σ) => S₁) (fun (i : σ) => MulZeroClass.toHasZero.{u2} S₁ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))))))))) p) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (algebraMap.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) _inst_3) (coeFn.{max (succ (max u3 u1)) (succ u1), max (succ (max u3 u1)) (succ u1)} (RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.constantCoeff.{u1, u3} R σ _inst_1) p))
but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : Algebra.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2)] (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) p) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u1) (succ u2), succ u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (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) => S₁) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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, 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.{u2, 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.{u2, u3} R S₁ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{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.{u2, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, 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.{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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u1 u2, u3, max (max u3 u1) u2} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3 (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (AlgHom.algHomClass.{u2, max u1 u2, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3))))) (MvPolynomial.aeval.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_3 (OfNat.ofNat.{max u3 u1} (σ -> S₁) 0 (Zero.toOfNat0.{max u3 u1} (σ -> S₁) (Pi.instZero.{u1, u3} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.21001 : σ) => S₁) (fun (i : σ) => CommMonoidWithZero.toZero.{u3} S₁ (CommSemiring.toCommMonoidWithZero.{u3} S₁ _inst_2)))))) p) (FunLike.coe.{max (succ u3) (succ u2), succ u2, succ u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) => S₁) _x) (MulHomClass.toFunLike.{max u3 u2, u2, u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (NonUnitalNonAssocSemiring.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u2, u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u2, u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (algebraMap.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) p))
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : Algebra.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2)] (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) p) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u1) (succ u2), succ u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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, 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.{u2, 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.{u2, u3} R S₁ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{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.{u2, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, 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.{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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u1 u2, u3, max (max u3 u1) u2} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3 (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (AlgHom.algHomClass.{u2, max u1 u2, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3))))) (MvPolynomial.aeval.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_3 (OfNat.ofNat.{max u3 u1} (σ -> S₁) 0 (Zero.toOfNat0.{max u3 u1} (σ -> S₁) (Pi.instZero.{u1, u3} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.21001 : σ) => S₁) (fun (i : σ) => CommMonoidWithZero.toZero.{u3} S₁ (CommSemiring.toCommMonoidWithZero.{u3} S₁ _inst_2)))))) p) (FunLike.coe.{max (succ u3) (succ u2), succ u2, succ u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) => S₁) _x) (MulHomClass.toFunLike.{max u3 u2, u2, u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (NonUnitalNonAssocSemiring.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u2, u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u2, u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (algebraMap.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) p))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_zero MvPolynomial.aeval_zeroₓ'. -/
@[simp]
theorem aeval_zero (p : MvPolynomial σ R) :
@@ -2702,7 +2702,7 @@ theorem aeval_zero (p : MvPolynomial σ R) :
lean 3 declaration is
forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : Algebra.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2)] (p : MvPolynomial.{u3, u1} σ R _inst_1), Eq.{succ u2} S₁ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (fun (_x : AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) ([anonymous].{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (MvPolynomial.aeval.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 _inst_3 (fun (_x : σ) => OfNat.ofNat.{u2} S₁ 0 (OfNat.mk.{u2} S₁ 0 (Zero.zero.{u2} S₁ (MulZeroClass.toHasZero.{u2} S₁ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))))))))) p) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (algebraMap.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) _inst_3) (coeFn.{max (succ (max u3 u1)) (succ u1), max (succ (max u3 u1)) (succ u1)} (RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.constantCoeff.{u1, u3} R σ _inst_1) p))
but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : Algebra.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2)] (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) p) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u1) (succ u2), succ u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (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) => S₁) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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, 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.{u2, 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.{u2, u3} R S₁ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{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.{u2, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, 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.{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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u1 u2, u3, max (max u3 u1) u2} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3 (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (AlgHom.algHomClass.{u2, max u1 u2, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3))))) (MvPolynomial.aeval.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_3 (fun (_x : σ) => OfNat.ofNat.{u3} S₁ 0 (Zero.toOfNat0.{u3} S₁ (CommMonoidWithZero.toZero.{u3} S₁ (CommSemiring.toCommMonoidWithZero.{u3} S₁ _inst_2))))) p) (FunLike.coe.{max (succ u3) (succ u2), succ u2, succ u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) => S₁) _x) (MulHomClass.toFunLike.{max u3 u2, u2, u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (NonUnitalNonAssocSemiring.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u2, u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u2, u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (algebraMap.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) p))
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : Algebra.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2)] (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) p) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u1) (succ u2), succ u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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, 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.{u2, 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.{u2, u3} R S₁ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{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.{u2, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, 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.{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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u1 u2, u3, max (max u3 u1) u2} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3 (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (AlgHom.algHomClass.{u2, max u1 u2, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3))))) (MvPolynomial.aeval.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_3 (fun (_x : σ) => OfNat.ofNat.{u3} S₁ 0 (Zero.toOfNat0.{u3} S₁ (CommMonoidWithZero.toZero.{u3} S₁ (CommSemiring.toCommMonoidWithZero.{u3} S₁ _inst_2))))) p) (FunLike.coe.{max (succ u3) (succ u2), succ u2, succ u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) => S₁) _x) (MulHomClass.toFunLike.{max u3 u2, u2, u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (NonUnitalNonAssocSemiring.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u2, u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u2, u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (algebraMap.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) p))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_zero' MvPolynomial.aeval_zero'ₓ'. -/
@[simp]
theorem aeval_zero' (p : MvPolynomial σ R) :
@@ -2736,7 +2736,7 @@ theorem eval_zero' : eval (fun _ => 0 : σ → R) = constantCoeff :=
lean 3 declaration is
forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : Algebra.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2)] (g : σ -> S₁) (d : Finsupp.{u3, 0} σ Nat Nat.hasZero) (r : R), Eq.{succ u2} S₁ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (fun (_x : AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) ([anonymous].{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (MvPolynomial.aeval.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 _inst_3 g) (coeFn.{max (succ u1) (succ (max u3 u1)), max (succ u1) (succ (max u3 u1))} (LinearMap.{u1, u1, u1, max u3 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u3 u1} 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 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))))) (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 -> (MvPolynomial.{u3, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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)) (HMul.hMul.{u2, u2, u2} S₁ S₁ S₁ (instHMul.{u2} S₁ (Distrib.toHasMul.{u2} S₁ (NonUnitalNonAssocSemiring.toDistrib.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (algebraMap.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) _inst_3) r) (Finsupp.prod.{u3, 0, u2} σ Nat S₁ Nat.hasZero (CommSemiring.toCommMonoid.{u2} S₁ _inst_2) d (fun (i : σ) (k : Nat) => HPow.hPow.{u2, 0, u2} S₁ Nat S₁ (instHPow.{u2, 0} S₁ Nat (Monoid.Pow.{u2} S₁ (MonoidWithZero.toMonoid.{u2} S₁ (Semiring.toMonoidWithZero.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))))) (g i) k)))
but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : Algebra.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2)] (g : σ -> S₁) (d : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (r : R), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 d) r)) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u1) (succ u2), succ u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (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) => S₁) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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, 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.{u2, 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.{u2, u3} R S₁ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{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.{u2, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, 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.{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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u1 u2, u3, max (max u3 u1) u2} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3 (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (AlgHom.algHomClass.{u2, max u1 u2, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3))))) (MvPolynomial.aeval.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_3 g) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 d) r)) (HMul.hMul.{u3, u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) S₁ ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 d) r)) (instHMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (NonUnitalNonAssocSemiring.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2))))) (FunLike.coe.{max (succ u3) (succ u2), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) _x) (MulHomClass.toFunLike.{max u3 u2, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (algebraMap.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3) r) (Finsupp.prod.{u1, 0, u3} σ Nat S₁ (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (CommSemiring.toCommMonoid.{u3} S₁ _inst_2) d (fun (i : σ) (k : Nat) => HPow.hPow.{u3, 0, u3} S₁ Nat S₁ (instHPow.{u3, 0} S₁ Nat (Monoid.Pow.{u3} S₁ (MonoidWithZero.toMonoid.{u3} S₁ (Semiring.toMonoidWithZero.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))))) (g i) k)))
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : Algebra.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2)] (g : σ -> S₁) (d : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (r : R), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 d) r)) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u1) (succ u2), succ u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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, 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.{u2, 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.{u2, u3} R S₁ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{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.{u2, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, 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.{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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u1 u2, u3, max (max u3 u1) u2} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3 (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (AlgHom.algHomClass.{u2, max u1 u2, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3))))) (MvPolynomial.aeval.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_3 g) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 d) r)) (HMul.hMul.{u3, u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) S₁ ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 d) r)) (instHMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (NonUnitalNonAssocSemiring.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2))))) (FunLike.coe.{max (succ u3) (succ u2), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) _x) (MulHomClass.toFunLike.{max u3 u2, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (algebraMap.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3) r) (Finsupp.prod.{u1, 0, u3} σ Nat S₁ (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (CommSemiring.toCommMonoid.{u3} S₁ _inst_2) d (fun (i : σ) (k : Nat) => HPow.hPow.{u3, 0, u3} S₁ Nat S₁ (instHPow.{u3, 0} S₁ Nat (Monoid.Pow.{u3} S₁ (MonoidWithZero.toMonoid.{u3} S₁ (Semiring.toMonoidWithZero.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))))) (g i) k)))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_monomial MvPolynomial.aeval_monomialₓ'. -/
theorem aeval_monomial (g : σ → S₁) (d : σ →₀ ℕ) (r : R) :
aeval g (monomial d r) = algebraMap _ _ r * d.Prod fun i k => g i ^ k :=
@@ -2764,7 +2764,7 @@ theorem eval₂Hom_eq_zero (f : R →+* S₂) (g : σ → S₂) (φ : MvPolynomi
lean 3 declaration is
forall {R : Type.{u1}} {S₂ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_4 : CommSemiring.{u2} S₂] [_inst_5 : Algebra.{u1, u2} R S₂ _inst_1 (CommSemiring.toSemiring.{u2} S₂ _inst_4)] (f : σ -> S₂) (φ : MvPolynomial.{u3, u1} σ R _inst_1), (forall (d : Finsupp.{u3, 0} σ Nat Nat.hasZero), (Ne.{succ u1} R (MvPolynomial.coeff.{u1, u3} R σ _inst_1 d φ) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) -> (Exists.{succ u3} σ (fun (i : σ) => Exists.{0} (Membership.Mem.{u3, u3} σ (Finset.{u3} σ) (Finset.hasMem.{u3} σ) i (Finsupp.support.{u3, 0} σ Nat Nat.hasZero d)) (fun (H : Membership.Mem.{u3, u3} σ (Finset.{u3} σ) (Finset.hasMem.{u3} σ) i (Finsupp.support.{u3, 0} σ Nat Nat.hasZero d)) => Eq.{succ u2} S₂ (f i) (OfNat.ofNat.{u2} S₂ 0 (OfNat.mk.{u2} S₂ 0 (Zero.zero.{u2} S₂ (MulZeroClass.toHasZero.{u2} S₂ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4)))))))))))) -> (Eq.{succ u2} S₂ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₂ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₂ _inst_4) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_5) (fun (_x : AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₂ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₂ _inst_4) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_5) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₂) ([anonymous].{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₂ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₂ _inst_4) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_5) (MvPolynomial.aeval.{u1, u2, u3} R S₂ σ _inst_1 _inst_4 _inst_5 f) φ) (OfNat.ofNat.{u2} S₂ 0 (OfNat.mk.{u2} S₂ 0 (Zero.zero.{u2} S₂ (MulZeroClass.toHasZero.{u2} S₂ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4)))))))))
but is expected to have type
- forall {R : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_4 : CommSemiring.{u3} S₂] [_inst_5 : Algebra.{u2, u3} R S₂ _inst_1 (CommSemiring.toSemiring.{u3} S₂ _inst_4)] (f : σ -> S₂) (φ : MvPolynomial.{u1, u2} σ R _inst_1), (forall (d : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)), (Ne.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d φ) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) -> (Exists.{succ u1} σ (fun (i : σ) => And (Membership.mem.{u1, u1} σ (Finset.{u1} σ) (Finset.instMembershipFinset.{u1} σ) i (Finsupp.support.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) d)) (Eq.{succ u3} S₂ (f i) (OfNat.ofNat.{u3} S₂ 0 (Zero.toOfNat0.{u3} S₂ (CommMonoidWithZero.toZero.{u3} S₂ (CommSemiring.toCommMonoidWithZero.{u3} S₂ _inst_4)))))))) -> (Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) φ) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u1) (succ u2), succ u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₂ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₂ _inst_4) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_5) (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) => S₂) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₂ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₂ _inst_4) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_5) R (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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, 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_4)))))) (DistribSMul.toSMulZeroClass.{u2, 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_4)))))) (DistribMulAction.toDistribSMul.{u2, u3} R S₂ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{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_4))))) (Module.toDistribMulAction.{u2, u3} R S₂ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (Algebra.toModule.{u2, u3} R S₂ _inst_1 (CommSemiring.toSemiring.{u3} S₂ _inst_4) _inst_5))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₂ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₂ _inst_4) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_5) R (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, 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_4))))) (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 u2 u1} (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 u2 u1} (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, u3} R S₂ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (Algebra.toModule.{u2, u3} R S₂ _inst_1 (CommSemiring.toSemiring.{u3} S₂ _inst_4) _inst_5)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₂ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₂ _inst_4) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_5) R (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (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 u2 u1} (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 u2 u1} (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, u3} R S₂ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (Algebra.toModule.{u2, u3} R S₂ _inst_1 (CommSemiring.toSemiring.{u3} S₂ _inst_4) _inst_5)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u1 u2, u3, max (max u3 u1) u2} R (MvPolynomial.{u1, u2} σ R _inst_1) S₂ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₂ _inst_4) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_5 (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₂ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₂ _inst_4) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_5) (AlgHom.algHomClass.{u2, max u1 u2, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₂ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₂ _inst_4) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_5))))) (MvPolynomial.aeval.{u2, u3, u1} R S₂ σ _inst_1 _inst_4 _inst_5 f) φ) (OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) φ) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) φ) (CommMonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) φ) (CommSemiring.toCommMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) φ) _inst_4)))))
+ forall {R : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_4 : CommSemiring.{u3} S₂] [_inst_5 : Algebra.{u2, u3} R S₂ _inst_1 (CommSemiring.toSemiring.{u3} S₂ _inst_4)] (f : σ -> S₂) (φ : MvPolynomial.{u1, u2} σ R _inst_1), (forall (d : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)), (Ne.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d φ) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) -> (Exists.{succ u1} σ (fun (i : σ) => And (Membership.mem.{u1, u1} σ (Finset.{u1} σ) (Finset.instMembershipFinset.{u1} σ) i (Finsupp.support.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) d)) (Eq.{succ u3} S₂ (f i) (OfNat.ofNat.{u3} S₂ 0 (Zero.toOfNat0.{u3} S₂ (CommMonoidWithZero.toZero.{u3} S₂ (CommSemiring.toCommMonoidWithZero.{u3} S₂ _inst_4)))))))) -> (Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) φ) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u1) (succ u2), succ u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₂ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₂ _inst_4) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_5) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₂ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₂ _inst_4) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_5) R (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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, 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_4)))))) (DistribSMul.toSMulZeroClass.{u2, 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_4)))))) (DistribMulAction.toDistribSMul.{u2, u3} R S₂ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{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_4))))) (Module.toDistribMulAction.{u2, u3} R S₂ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (Algebra.toModule.{u2, u3} R S₂ _inst_1 (CommSemiring.toSemiring.{u3} S₂ _inst_4) _inst_5))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₂ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₂ _inst_4) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_5) R (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, 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_4))))) (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 u2 u1} (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 u2 u1} (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, u3} R S₂ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (Algebra.toModule.{u2, u3} R S₂ _inst_1 (CommSemiring.toSemiring.{u3} S₂ _inst_4) _inst_5)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₂ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₂ _inst_4) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_5) R (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (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 u2 u1} (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 u2 u1} (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, u3} R S₂ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (Algebra.toModule.{u2, u3} R S₂ _inst_1 (CommSemiring.toSemiring.{u3} S₂ _inst_4) _inst_5)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u1 u2, u3, max (max u3 u1) u2} R (MvPolynomial.{u1, u2} σ R _inst_1) S₂ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₂ _inst_4) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_5 (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₂ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₂ _inst_4) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_5) (AlgHom.algHomClass.{u2, max u1 u2, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₂ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₂ _inst_4) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_5))))) (MvPolynomial.aeval.{u2, u3, u1} R S₂ σ _inst_1 _inst_4 _inst_5 f) φ) (OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) φ) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) φ) (CommMonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) φ) (CommSemiring.toCommMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) φ) _inst_4)))))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_eq_zero MvPolynomial.aeval_eq_zeroₓ'. -/
theorem aeval_eq_zero [Algebra R S₂] (f : σ → S₂) (φ : MvPolynomial σ R)
(h : ∀ d, φ.coeff d ≠ 0 → ∃ i ∈ d.support, f i = 0) : aeval f φ = 0 :=
@@ -2775,7 +2775,7 @@ theorem aeval_eq_zero [Algebra R S₂] (f : σ → S₂) (φ : MvPolynomial σ R
lean 3 declaration is
forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : Algebra.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2)] (f : σ -> S₁) {ι : Type.{u4}} (s : Finset.{u4} ι) (φ : ι -> (MvPolynomial.{u3, u1} σ R _inst_1)), Eq.{succ u2} S₁ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (fun (_x : AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) ([anonymous].{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (MvPolynomial.aeval.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 _inst_3 f) (Finset.sum.{max u3 u1, u4} (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))))) s (fun (i : ι) => φ i))) (Finset.sum.{u2, u4} S₁ ι (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))) s (fun (i : ι) => coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (fun (_x : AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) ([anonymous].{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (MvPolynomial.aeval.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 _inst_3 f) (φ i)))
but is expected to have type
- forall {R : Type.{u3}} {S₁ : Type.{u4}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] [_inst_2 : CommSemiring.{u4} S₁] [_inst_3 : Algebra.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2)] (f : σ -> S₁) {ι : Type.{u2}} (s : Finset.{u2} ι) (φ : ι -> (MvPolynomial.{u1, u3} σ R _inst_1)), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u3} σ R _inst_1) => S₁) (Finset.sum.{max u1 u3, u2} (MvPolynomial.{u1, u3} σ R _inst_1) ι (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) s (fun (i : ι) => φ i))) (FunLike.coe.{max (max (succ u4) (succ u1)) (succ u3), max (succ u1) (succ u3), succ u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u3} σ R _inst_1) => S₁) _x) (SMulHomClass.toFunLike.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (SMulZeroClass.toSMul.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toZero.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))))))) (SMulZeroClass.toSMul.{u3, u4} R S₁ (AddMonoid.toZero.{u4} S₁ (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))))) (DistribSMul.toSMulZeroClass.{u3, u4} R S₁ (AddMonoid.toAddZeroClass.{u4} S₁ (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))))) (DistribMulAction.toDistribSMul.{u3, u4} R S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u3, max u1 u3, u4, max (max u4 u1) u3} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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 (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) (AlgHom.algHomClass.{u3, max u1 u3, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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 f) (Finset.sum.{max u1 u3, u2} (MvPolynomial.{u1, u3} σ R _inst_1) ι (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) s (fun (i : ι) => φ i))) (Finset.sum.{u4, u2} S₁ ι (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) s (fun (i : ι) => FunLike.coe.{max (max (succ u4) (succ u1)) (succ u3), max (succ u1) (succ u3), succ u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u3} σ R _inst_1) => S₁) _x) (SMulHomClass.toFunLike.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (SMulZeroClass.toSMul.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toZero.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))))))) (SMulZeroClass.toSMul.{u3, u4} R S₁ (AddMonoid.toZero.{u4} S₁ (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))))) (DistribSMul.toSMulZeroClass.{u3, u4} R S₁ (AddMonoid.toAddZeroClass.{u4} S₁ (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))))) (DistribMulAction.toDistribSMul.{u3, u4} R S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u3, max u1 u3, u4, max (max u4 u1) u3} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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 (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) (AlgHom.algHomClass.{u3, max u1 u3, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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 f) (φ i)))
+ forall {R : Type.{u3}} {S₁ : Type.{u4}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] [_inst_2 : CommSemiring.{u4} S₁] [_inst_3 : Algebra.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2)] (f : σ -> S₁) {ι : Type.{u2}} (s : Finset.{u2} ι) (φ : ι -> (MvPolynomial.{u1, u3} σ R _inst_1)), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u3} σ R _inst_1) => S₁) (Finset.sum.{max u1 u3, u2} (MvPolynomial.{u1, u3} σ R _inst_1) ι (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) s (fun (i : ι) => φ i))) (FunLike.coe.{max (max (succ u4) (succ u1)) (succ u3), max (succ u1) (succ u3), succ u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u3} σ R _inst_1) => S₁) _x) (SMulHomClass.toFunLike.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (SMulZeroClass.toSMul.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toZero.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))))))) (SMulZeroClass.toSMul.{u3, u4} R S₁ (AddMonoid.toZero.{u4} S₁ (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))))) (DistribSMul.toSMulZeroClass.{u3, u4} R S₁ (AddMonoid.toAddZeroClass.{u4} S₁ (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))))) (DistribMulAction.toDistribSMul.{u3, u4} R S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u3, max u1 u3, u4, max (max u4 u1) u3} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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 (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) (AlgHom.algHomClass.{u3, max u1 u3, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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 f) (Finset.sum.{max u1 u3, u2} (MvPolynomial.{u1, u3} σ R _inst_1) ι (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) s (fun (i : ι) => φ i))) (Finset.sum.{u4, u2} S₁ ι (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) s (fun (i : ι) => FunLike.coe.{max (max (succ u4) (succ u1)) (succ u3), max (succ u1) (succ u3), succ u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u3} σ R _inst_1) => S₁) _x) (SMulHomClass.toFunLike.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (SMulZeroClass.toSMul.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toZero.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))))))) (SMulZeroClass.toSMul.{u3, u4} R S₁ (AddMonoid.toZero.{u4} S₁ (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))))) (DistribSMul.toSMulZeroClass.{u3, u4} R S₁ (AddMonoid.toAddZeroClass.{u4} S₁ (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))))) (DistribMulAction.toDistribSMul.{u3, u4} R S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u3, max u1 u3, u4, max (max u4 u1) u3} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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 (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) (AlgHom.algHomClass.{u3, max u1 u3, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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 f) (φ i)))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_sum MvPolynomial.aeval_sumₓ'. -/
theorem aeval_sum {ι : Type _} (s : Finset ι) (φ : ι → MvPolynomial σ R) :
aeval f (∑ i in s, φ i) = ∑ i in s, aeval f (φ i) :=
@@ -2786,7 +2786,7 @@ theorem aeval_sum {ι : Type _} (s : Finset ι) (φ : ι → MvPolynomial σ R)
lean 3 declaration is
forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : Algebra.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2)] (f : σ -> S₁) {ι : Type.{u4}} (s : Finset.{u4} ι) (φ : ι -> (MvPolynomial.{u3, u1} σ R _inst_1)), Eq.{succ u2} S₁ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (fun (_x : AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) ([anonymous].{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (MvPolynomial.aeval.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 _inst_3 f) (Finset.prod.{max u3 u1, u4} (MvPolynomial.{u3, u1} σ R _inst_1) ι (CommSemiring.toCommMonoid.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) s (fun (i : ι) => φ i))) (Finset.prod.{u2, u4} S₁ ι (CommSemiring.toCommMonoid.{u2} S₁ _inst_2) s (fun (i : ι) => coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (fun (_x : AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) ([anonymous].{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (MvPolynomial.aeval.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 _inst_3 f) (φ i)))
but is expected to have type
- forall {R : Type.{u3}} {S₁ : Type.{u4}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] [_inst_2 : CommSemiring.{u4} S₁] [_inst_3 : Algebra.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2)] (f : σ -> S₁) {ι : Type.{u2}} (s : Finset.{u2} ι) (φ : ι -> (MvPolynomial.{u1, u3} σ R _inst_1)), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u3} σ R _inst_1) => S₁) (Finset.prod.{max u1 u3, u2} (MvPolynomial.{u1, u3} σ R _inst_1) ι (CommSemiring.toCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) s (fun (i : ι) => φ i))) (FunLike.coe.{max (max (succ u4) (succ u1)) (succ u3), max (succ u1) (succ u3), succ u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u3} σ R _inst_1) => S₁) _x) (SMulHomClass.toFunLike.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (SMulZeroClass.toSMul.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toZero.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))))))) (SMulZeroClass.toSMul.{u3, u4} R S₁ (AddMonoid.toZero.{u4} S₁ (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))))) (DistribSMul.toSMulZeroClass.{u3, u4} R S₁ (AddMonoid.toAddZeroClass.{u4} S₁ (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))))) (DistribMulAction.toDistribSMul.{u3, u4} R S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u3, max u1 u3, u4, max (max u4 u1) u3} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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 (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) (AlgHom.algHomClass.{u3, max u1 u3, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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 f) (Finset.prod.{max u1 u3, u2} (MvPolynomial.{u1, u3} σ R _inst_1) ι (CommSemiring.toCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) s (fun (i : ι) => φ i))) (Finset.prod.{u4, u2} S₁ ι (CommSemiring.toCommMonoid.{u4} S₁ _inst_2) s (fun (i : ι) => FunLike.coe.{max (max (succ u4) (succ u1)) (succ u3), max (succ u1) (succ u3), succ u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u3} σ R _inst_1) => S₁) _x) (SMulHomClass.toFunLike.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (SMulZeroClass.toSMul.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toZero.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))))))) (SMulZeroClass.toSMul.{u3, u4} R S₁ (AddMonoid.toZero.{u4} S₁ (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))))) (DistribSMul.toSMulZeroClass.{u3, u4} R S₁ (AddMonoid.toAddZeroClass.{u4} S₁ (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))))) (DistribMulAction.toDistribSMul.{u3, u4} R S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u3, max u1 u3, u4, max (max u4 u1) u3} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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 (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) (AlgHom.algHomClass.{u3, max u1 u3, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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 f) (φ i)))
+ forall {R : Type.{u3}} {S₁ : Type.{u4}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] [_inst_2 : CommSemiring.{u4} S₁] [_inst_3 : Algebra.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2)] (f : σ -> S₁) {ι : Type.{u2}} (s : Finset.{u2} ι) (φ : ι -> (MvPolynomial.{u1, u3} σ R _inst_1)), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u3} σ R _inst_1) => S₁) (Finset.prod.{max u1 u3, u2} (MvPolynomial.{u1, u3} σ R _inst_1) ι (CommSemiring.toCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) s (fun (i : ι) => φ i))) (FunLike.coe.{max (max (succ u4) (succ u1)) (succ u3), max (succ u1) (succ u3), succ u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u3} σ R _inst_1) => S₁) _x) (SMulHomClass.toFunLike.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (SMulZeroClass.toSMul.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toZero.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))))))) (SMulZeroClass.toSMul.{u3, u4} R S₁ (AddMonoid.toZero.{u4} S₁ (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))))) (DistribSMul.toSMulZeroClass.{u3, u4} R S₁ (AddMonoid.toAddZeroClass.{u4} S₁ (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))))) (DistribMulAction.toDistribSMul.{u3, u4} R S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u3, max u1 u3, u4, max (max u4 u1) u3} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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 (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) (AlgHom.algHomClass.{u3, max u1 u3, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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 f) (Finset.prod.{max u1 u3, u2} (MvPolynomial.{u1, u3} σ R _inst_1) ι (CommSemiring.toCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) s (fun (i : ι) => φ i))) (Finset.prod.{u4, u2} S₁ ι (CommSemiring.toCommMonoid.{u4} S₁ _inst_2) s (fun (i : ι) => FunLike.coe.{max (max (succ u4) (succ u1)) (succ u3), max (succ u1) (succ u3), succ u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u1, u3} σ R _inst_1) => S₁) _x) (SMulHomClass.toFunLike.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (SMulZeroClass.toSMul.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toZero.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))))))) (SMulZeroClass.toSMul.{u3, u4} R S₁ (AddMonoid.toZero.{u4} S₁ (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))))) (DistribSMul.toSMulZeroClass.{u3, u4} R S₁ (AddMonoid.toAddZeroClass.{u4} S₁ (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))))) (DistribMulAction.toDistribSMul.{u3, u4} R S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u3, max u1 u3, u4, max (max u4 u1) u3} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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 (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) (AlgHom.algHomClass.{u3, max u1 u3, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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 f) (φ i)))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_prod MvPolynomial.aeval_prodₓ'. -/
@[to_additive]
theorem aeval_prod {ι : Type _} (s : Finset ι) (φ : ι → MvPolynomial σ R) :
@@ -2840,7 +2840,7 @@ variable (g : R →ₐ[S] A) (y : σ → A)
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {S : Type.{u3}} {A : Type.{u4}} [_inst_3 : CommSemiring.{u3} S] [_inst_4 : CommSemiring.{u4} A] [_inst_6 : Algebra.{u3, u1} S R _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1)] [_inst_7 : Algebra.{u3, u4} S A _inst_3 (CommSemiring.toSemiring.{u4} A _inst_4)] (g : AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) (y : σ -> A) (i : σ), Eq.{succ u4} A (coeFn.{max (succ (max u2 u1)) (succ u4), max (succ (max u2 u1)) (succ u4)} (AlgHom.{u3, max u2 u1, u4} S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (fun (_x : AlgHom.{u3, max u2 u1, u4} S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) => (MvPolynomial.{u2, u1} σ R _inst_1) -> A) ([anonymous].{u3, max u2 u1, u4} S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (MvPolynomial.aevalTower.{u1, u2, u3, u4} R σ _inst_1 S A _inst_3 _inst_4 _inst_6 _inst_7 g y) (MvPolynomial.X.{u1, u2} R σ _inst_1 i)) (y i)
but is expected to have type
- forall {R : Type.{u4}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u4} R] {S : Type.{u1}} {A : Type.{u3}} [_inst_3 : CommSemiring.{u1} S] [_inst_4 : CommSemiring.{u3} A] [_inst_6 : Algebra.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1)] [_inst_7 : Algebra.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4)] (g : AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) (y : σ -> A) (i : σ), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u2, u4} σ R _inst_1) => A) (MvPolynomial.X.{u4, u2} R σ _inst_1 i)) (FunLike.coe.{max (max (succ u4) (succ u2)) (succ u3), max (succ u4) (succ u2), succ u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (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) => A) _x) (SMulHomClass.toFunLike.{max (max u4 u2) u3, u1, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u4} σ R _inst_1) A (SMulZeroClass.toSMul.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toZero.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))))) (DistribSMul.toSMulZeroClass.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))))) (DistribMulAction.toDistribSMul.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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)))))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)))))) (SMulZeroClass.toSMul.{u1, u3} S A (AddMonoid.toZero.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribSMul.toSMulZeroClass.{u1, u3} S A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribMulAction.toDistribSMul.{u1, u3} S A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u2) u3, u1, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u4} σ R _inst_1) A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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)))))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u4 u2) u3, u1, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u4} σ R _inst_1) A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (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.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, max u4 u2, u3, max (max u4 u2) u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7 (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (AlgHom.algHomClass.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7))))) (MvPolynomial.aevalTower.{u4, u2, u1, u3} R σ _inst_1 S A _inst_3 _inst_4 _inst_6 _inst_7 g y) (MvPolynomial.X.{u4, u2} R σ _inst_1 i)) (y i)
+ forall {R : Type.{u4}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u4} R] {S : Type.{u1}} {A : Type.{u3}} [_inst_3 : CommSemiring.{u1} S] [_inst_4 : CommSemiring.{u3} A] [_inst_6 : Algebra.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1)] [_inst_7 : Algebra.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4)] (g : AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) (y : σ -> A) (i : σ), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u2, u4} σ R _inst_1) => A) (MvPolynomial.X.{u4, u2} R σ _inst_1 i)) (FunLike.coe.{max (max (succ u4) (succ u2)) (succ u3), max (succ u4) (succ u2), succ u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (MvPolynomial.{u2, u4} σ R _inst_1) (fun (_x : MvPolynomial.{u2, u4} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u2, u4} σ R _inst_1) => A) _x) (SMulHomClass.toFunLike.{max (max u4 u2) u3, u1, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u4} σ R _inst_1) A (SMulZeroClass.toSMul.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toZero.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))))) (DistribSMul.toSMulZeroClass.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))))) (DistribMulAction.toDistribSMul.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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)))))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)))))) (SMulZeroClass.toSMul.{u1, u3} S A (AddMonoid.toZero.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribSMul.toSMulZeroClass.{u1, u3} S A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribMulAction.toDistribSMul.{u1, u3} S A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u2) u3, u1, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u4} σ R _inst_1) A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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)))))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u4 u2) u3, u1, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u4} σ R _inst_1) A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (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.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, max u4 u2, u3, max (max u4 u2) u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7 (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (AlgHom.algHomClass.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7))))) (MvPolynomial.aevalTower.{u4, u2, u1, u3} R σ _inst_1 S A _inst_3 _inst_4 _inst_6 _inst_7 g y) (MvPolynomial.X.{u4, u2} R σ _inst_1 i)) (y i)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_tower_X MvPolynomial.aevalTower_Xₓ'. -/
@[simp]
theorem aevalTower_X (i : σ) : aevalTower g y (X i) = y i :=
@@ -2851,7 +2851,7 @@ theorem aevalTower_X (i : σ) : aevalTower g y (X i) = y i :=
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {S : Type.{u3}} {A : Type.{u4}} [_inst_3 : CommSemiring.{u3} S] [_inst_4 : CommSemiring.{u4} A] [_inst_6 : Algebra.{u3, u1} S R _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1)] [_inst_7 : Algebra.{u3, u4} S A _inst_3 (CommSemiring.toSemiring.{u4} A _inst_4)] (g : AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) (y : σ -> A) (x : R), Eq.{succ u4} A (coeFn.{max (succ (max u2 u1)) (succ u4), max (succ (max u2 u1)) (succ u4)} (AlgHom.{u3, max u2 u1, u4} S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (fun (_x : AlgHom.{u3, max u2 u1, u4} S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) => (MvPolynomial.{u2, u1} σ R _inst_1) -> A) ([anonymous].{u3, max u2 u1, u4} S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (MvPolynomial.aevalTower.{u1, u2, u3, u4} R σ _inst_1 S A _inst_3 _inst_4 _inst_6 _inst_7 g y) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) x)) (coeFn.{max (succ u1) (succ u4), max (succ u1) (succ u4)} (AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) (fun (_x : AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) => R -> A) ([anonymous].{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) g x)
but is expected to have type
- forall {R : Type.{u4}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u4} R] {S : Type.{u1}} {A : Type.{u3}} [_inst_3 : CommSemiring.{u1} S] [_inst_4 : CommSemiring.{u3} A] [_inst_6 : Algebra.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1)] [_inst_7 : Algebra.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4)] (g : AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) (y : σ -> A) (x : R), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u2, u4} σ R _inst_1) => A) (FunLike.coe.{max (succ u2) (succ u4), succ u4, max (succ u2) (succ u4)} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u2, u4} σ R _inst_1) a) (MulHomClass.toFunLike.{max u2 u4, u4, max u2 u4} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (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))))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u4, u4, max u2 u4} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u2, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (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)))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u4, u4, max u2 u4} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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))) (RingHom.instRingHomClassRingHom.{u4, max u2 u4} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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))))))) (MvPolynomial.C.{u4, u2} R σ _inst_1) x)) (FunLike.coe.{max (max (succ u4) (succ u2)) (succ u3), max (succ u4) (succ u2), succ u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (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) => A) _x) (SMulHomClass.toFunLike.{max (max u4 u2) u3, u1, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u4} σ R _inst_1) A (SMulZeroClass.toSMul.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toZero.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))))) (DistribSMul.toSMulZeroClass.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))))) (DistribMulAction.toDistribSMul.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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)))))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)))))) (SMulZeroClass.toSMul.{u1, u3} S A (AddMonoid.toZero.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribSMul.toSMulZeroClass.{u1, u3} S A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribMulAction.toDistribSMul.{u1, u3} S A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u2) u3, u1, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u4} σ R _inst_1) A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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)))))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u4 u2) u3, u1, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u4} σ R _inst_1) A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (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.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, max u4 u2, u3, max (max u4 u2) u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7 (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (AlgHom.algHomClass.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7))))) (MvPolynomial.aevalTower.{u4, u2, u1, u3} R σ _inst_1 S A _inst_3 _inst_4 _inst_6 _inst_7 g y) (FunLike.coe.{max (succ u2) (succ u4), succ u4, max (succ u2) (succ u4)} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u2, u4} σ R _inst_1) _x) (MulHomClass.toFunLike.{max u2 u4, u4, max u2 u4} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (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))))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u4, u4, max u2 u4} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u2, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (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)))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u4, u4, max u2 u4} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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))) (RingHom.instRingHomClassRingHom.{u4, max u2 u4} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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))))))) (MvPolynomial.C.{u4, u2} R σ _inst_1) x)) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : R) => A) _x) (SMulHomClass.toFunLike.{max u4 u3, u1, u4, u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) S R A (SMulZeroClass.toSMul.{u1, u4} S R (AddMonoid.toZero.{u4} R (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u1, u4} S R (AddMonoid.toAddZeroClass.{u4} R (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u1, u4} S R (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6))))) (SMulZeroClass.toSMul.{u1, u3} S A (AddMonoid.toZero.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribSMul.toSMulZeroClass.{u1, u3} S A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribMulAction.toDistribSMul.{u1, u3} S A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7))))) (DistribMulActionHomClass.toSMulHomClass.{max u4 u3, u1, u4, u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) S R A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u4 u3, u1, u4, u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) S R A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, u4, u3, max u4 u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7 (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) (AlgHom.algHomClass.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7))))) g x)
+ forall {R : Type.{u4}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u4} R] {S : Type.{u1}} {A : Type.{u3}} [_inst_3 : CommSemiring.{u1} S] [_inst_4 : CommSemiring.{u3} A] [_inst_6 : Algebra.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1)] [_inst_7 : Algebra.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4)] (g : AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) (y : σ -> A) (x : R), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u2, u4} σ R _inst_1) => A) (FunLike.coe.{max (succ u2) (succ u4), succ u4, max (succ u2) (succ u4)} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u2, u4} σ R _inst_1) a) (MulHomClass.toFunLike.{max u2 u4, u4, max u2 u4} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (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))))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u4, u4, max u2 u4} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u2, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (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)))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u4, u4, max u2 u4} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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))) (RingHom.instRingHomClassRingHom.{u4, max u2 u4} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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))))))) (MvPolynomial.C.{u4, u2} R σ _inst_1) x)) (FunLike.coe.{max (max (succ u4) (succ u2)) (succ u3), max (succ u4) (succ u2), succ u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (MvPolynomial.{u2, u4} σ R _inst_1) (fun (_x : MvPolynomial.{u2, u4} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u2, u4} σ R _inst_1) => A) _x) (SMulHomClass.toFunLike.{max (max u4 u2) u3, u1, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u4} σ R _inst_1) A (SMulZeroClass.toSMul.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toZero.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))))) (DistribSMul.toSMulZeroClass.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))))) (DistribMulAction.toDistribSMul.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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)))))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)))))) (SMulZeroClass.toSMul.{u1, u3} S A (AddMonoid.toZero.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribSMul.toSMulZeroClass.{u1, u3} S A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribMulAction.toDistribSMul.{u1, u3} S A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u2) u3, u1, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u4} σ R _inst_1) A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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)))))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u4 u2) u3, u1, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u4} σ R _inst_1) A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (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.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, max u4 u2, u3, max (max u4 u2) u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7 (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (AlgHom.algHomClass.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7))))) (MvPolynomial.aevalTower.{u4, u2, u1, u3} R σ _inst_1 S A _inst_3 _inst_4 _inst_6 _inst_7 g y) (FunLike.coe.{max (succ u2) (succ u4), succ u4, max (succ u2) (succ u4)} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u2, u4} σ R _inst_1) _x) (MulHomClass.toFunLike.{max u2 u4, u4, max u2 u4} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (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))))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u4, u4, max u2 u4} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u2, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (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)))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u4, u4, max u2 u4} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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))) (RingHom.instRingHomClassRingHom.{u4, max u2 u4} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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))))))) (MvPolynomial.C.{u4, u2} R σ _inst_1) x)) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R) => A) _x) (SMulHomClass.toFunLike.{max u4 u3, u1, u4, u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) S R A (SMulZeroClass.toSMul.{u1, u4} S R (AddMonoid.toZero.{u4} R (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u1, u4} S R (AddMonoid.toAddZeroClass.{u4} R (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u1, u4} S R (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6))))) (SMulZeroClass.toSMul.{u1, u3} S A (AddMonoid.toZero.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribSMul.toSMulZeroClass.{u1, u3} S A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribMulAction.toDistribSMul.{u1, u3} S A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7))))) (DistribMulActionHomClass.toSMulHomClass.{max u4 u3, u1, u4, u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) S R A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u4 u3, u1, u4, u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) S R A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, u4, u3, max u4 u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7 (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) (AlgHom.algHomClass.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7))))) g x)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_tower_C MvPolynomial.aevalTower_Cₓ'. -/
@[simp]
theorem aevalTower_C (x : R) : aevalTower g y (C x) = g x :=
@@ -2873,7 +2873,7 @@ theorem aevalTower_comp_C : (aevalTower g y : MvPolynomial σ R →+* A).comp C
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {S : Type.{u3}} {A : Type.{u4}} [_inst_3 : CommSemiring.{u3} S] [_inst_4 : CommSemiring.{u4} A] [_inst_6 : Algebra.{u3, u1} S R _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1)] [_inst_7 : Algebra.{u3, u4} S A _inst_3 (CommSemiring.toSemiring.{u4} A _inst_4)] (g : AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) (y : σ -> A) (x : R), Eq.{succ u4} A (coeFn.{max (succ (max u2 u1)) (succ u4), max (succ (max u2 u1)) (succ u4)} (AlgHom.{u3, max u2 u1, u4} S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (fun (_x : AlgHom.{u3, max u2 u1, u4} S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) => (MvPolynomial.{u2, u1} σ R _inst_1) -> A) ([anonymous].{u3, max u2 u1, u4} S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (MvPolynomial.aevalTower.{u1, u2, u3, u4} R σ _inst_1 S A _inst_3 _inst_4 _inst_6 _inst_7 g y) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (algebraMap.{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))) x)) (coeFn.{max (succ u1) (succ u4), max (succ u1) (succ u4)} (AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) (fun (_x : AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) => R -> A) ([anonymous].{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) g x)
but is expected to have type
- forall {R : Type.{u4}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u4} R] {S : Type.{u1}} {A : Type.{u3}} [_inst_3 : CommSemiring.{u1} S] [_inst_4 : CommSemiring.{u3} A] [_inst_6 : Algebra.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1)] [_inst_7 : Algebra.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4)] (g : AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) (y : σ -> A) (x : R), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u2, u4} σ R _inst_1) => A) (FunLike.coe.{max (succ u4) (succ u2), succ u4, max (succ u4) (succ u2)} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u2, u4} σ R _inst_1) a) (MulHomClass.toFunLike.{max u4 u2, u4, max u4 u2} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (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))))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u2, u4, max u4 u2} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u2, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) (RingHomClass.toNonUnitalRingHomClass.{max u4 u2, u4, max u4 u2} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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))) (RingHom.instRingHomClassRingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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))))))) (algebraMap.{u4, max u4 u2} 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))) x)) (FunLike.coe.{max (max (succ u4) (succ u2)) (succ u3), max (succ u4) (succ u2), succ u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (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) => A) _x) (SMulHomClass.toFunLike.{max (max u4 u2) u3, u1, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u4} σ R _inst_1) A (SMulZeroClass.toSMul.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toZero.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))))) (DistribSMul.toSMulZeroClass.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))))) (DistribMulAction.toDistribSMul.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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)))))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)))))) (SMulZeroClass.toSMul.{u1, u3} S A (AddMonoid.toZero.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribSMul.toSMulZeroClass.{u1, u3} S A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribMulAction.toDistribSMul.{u1, u3} S A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u2) u3, u1, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u4} σ R _inst_1) A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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)))))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u4 u2) u3, u1, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u4} σ R _inst_1) A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (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.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, max u4 u2, u3, max (max u4 u2) u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7 (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (AlgHom.algHomClass.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7))))) (MvPolynomial.aevalTower.{u4, u2, u1, u3} R σ _inst_1 S A _inst_3 _inst_4 _inst_6 _inst_7 g y) (FunLike.coe.{max (succ u4) (succ u2), succ u4, max (succ u4) (succ u2)} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u2, u4} σ R _inst_1) _x) (MulHomClass.toFunLike.{max u4 u2, u4, max u4 u2} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (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))))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u2, u4, max u4 u2} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u2, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) (RingHomClass.toNonUnitalRingHomClass.{max u4 u2, u4, max u4 u2} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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))) (RingHom.instRingHomClassRingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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))))))) (algebraMap.{u4, max u4 u2} 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))) x)) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : R) => A) _x) (SMulHomClass.toFunLike.{max u4 u3, u1, u4, u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) S R A (SMulZeroClass.toSMul.{u1, u4} S R (AddMonoid.toZero.{u4} R (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u1, u4} S R (AddMonoid.toAddZeroClass.{u4} R (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u1, u4} S R (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6))))) (SMulZeroClass.toSMul.{u1, u3} S A (AddMonoid.toZero.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribSMul.toSMulZeroClass.{u1, u3} S A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribMulAction.toDistribSMul.{u1, u3} S A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7))))) (DistribMulActionHomClass.toSMulHomClass.{max u4 u3, u1, u4, u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) S R A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u4 u3, u1, u4, u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) S R A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, u4, u3, max u4 u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7 (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) (AlgHom.algHomClass.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7))))) g x)
+ forall {R : Type.{u4}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u4} R] {S : Type.{u1}} {A : Type.{u3}} [_inst_3 : CommSemiring.{u1} S] [_inst_4 : CommSemiring.{u3} A] [_inst_6 : Algebra.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1)] [_inst_7 : Algebra.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4)] (g : AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) (y : σ -> A) (x : R), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u2, u4} σ R _inst_1) => A) (FunLike.coe.{max (succ u4) (succ u2), succ u4, max (succ u4) (succ u2)} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u2, u4} σ R _inst_1) a) (MulHomClass.toFunLike.{max u4 u2, u4, max u4 u2} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (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))))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u2, u4, max u4 u2} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u2, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) (RingHomClass.toNonUnitalRingHomClass.{max u4 u2, u4, max u4 u2} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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))) (RingHom.instRingHomClassRingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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))))))) (algebraMap.{u4, max u4 u2} 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))) x)) (FunLike.coe.{max (max (succ u4) (succ u2)) (succ u3), max (succ u4) (succ u2), succ u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (MvPolynomial.{u2, u4} σ R _inst_1) (fun (_x : MvPolynomial.{u2, u4} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u2, u4} σ R _inst_1) => A) _x) (SMulHomClass.toFunLike.{max (max u4 u2) u3, u1, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u4} σ R _inst_1) A (SMulZeroClass.toSMul.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toZero.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))))) (DistribSMul.toSMulZeroClass.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))))) (DistribMulAction.toDistribSMul.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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)))))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)))))) (SMulZeroClass.toSMul.{u1, u3} S A (AddMonoid.toZero.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribSMul.toSMulZeroClass.{u1, u3} S A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribMulAction.toDistribSMul.{u1, u3} S A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u2) u3, u1, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u4} σ R _inst_1) A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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)))))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u4 u2) u3, u1, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u4} σ R _inst_1) A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (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.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, max u4 u2, u3, max (max u4 u2) u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7 (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (AlgHom.algHomClass.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7))))) (MvPolynomial.aevalTower.{u4, u2, u1, u3} R σ _inst_1 S A _inst_3 _inst_4 _inst_6 _inst_7 g y) (FunLike.coe.{max (succ u4) (succ u2), succ u4, max (succ u4) (succ u2)} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u2, u4} σ R _inst_1) _x) (MulHomClass.toFunLike.{max u4 u2, u4, max u4 u2} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (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))))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u2, u4, max u4 u2} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u2, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) (RingHomClass.toNonUnitalRingHomClass.{max u4 u2, u4, max u4 u2} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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))) (RingHom.instRingHomClassRingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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))))))) (algebraMap.{u4, max u4 u2} 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))) x)) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R) => A) _x) (SMulHomClass.toFunLike.{max u4 u3, u1, u4, u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) S R A (SMulZeroClass.toSMul.{u1, u4} S R (AddMonoid.toZero.{u4} R (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u1, u4} S R (AddMonoid.toAddZeroClass.{u4} R (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u1, u4} S R (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6))))) (SMulZeroClass.toSMul.{u1, u3} S A (AddMonoid.toZero.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribSMul.toSMulZeroClass.{u1, u3} S A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribMulAction.toDistribSMul.{u1, u3} S A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7))))) (DistribMulActionHomClass.toSMulHomClass.{max u4 u3, u1, u4, u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) S R A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u4 u3, u1, u4, u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) S R A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, u4, u3, max u4 u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7 (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) (AlgHom.algHomClass.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7))))) g x)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_tower_algebra_map MvPolynomial.aevalTower_algebraMapₓ'. -/
@[simp]
theorem aevalTower_algebraMap (x : R) : aevalTower g y (algebraMap R (MvPolynomial σ R) x) = g x :=
@@ -2896,7 +2896,7 @@ theorem aevalTower_comp_algebraMap :
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {S : Type.{u3}} {A : Type.{u4}} [_inst_3 : CommSemiring.{u3} S] [_inst_4 : CommSemiring.{u4} A] [_inst_6 : Algebra.{u3, u1} S R _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1)] [_inst_7 : Algebra.{u3, u4} S A _inst_3 (CommSemiring.toSemiring.{u4} A _inst_4)] (g : AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) (y : σ -> A) (x : R), Eq.{succ u4} A (coeFn.{max (succ (max u2 u1)) (succ u4), max (succ (max u2 u1)) (succ u4)} (AlgHom.{u3, max u2 u1, u4} S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (fun (_x : AlgHom.{u3, max u2 u1, u4} S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) => (MvPolynomial.{u2, u1} σ R _inst_1) -> A) ([anonymous].{u3, max u2 u1, u4} S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (MvPolynomial.aevalTower.{u1, u2, u3, u4} R σ _inst_1 S A _inst_3 _inst_4 _inst_6 _inst_7 g y) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (AlgHom.{u3, u1, max u2 u1} S R (MvPolynomial.{u2, u1} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6)) (fun (_x : AlgHom.{u3, u1, max u2 u1} S R (MvPolynomial.{u2, u1} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6)) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) ([anonymous].{u3, u1, max u2 u1} S R (MvPolynomial.{u2, u1} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6)) (IsScalarTower.toAlgHom.{u3, u1, max u2 u1} S R (MvPolynomial.{u2, u1} σ R _inst_1) _inst_3 _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) (MvPolynomial.isScalarTower.{u3, u1, u1, u2} S R R σ _inst_1 (SMulZeroClass.toHasSmul.{u3, u1} S R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (SMulWithZero.toSmulZeroClass.{u3, u1} S R (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3))))) (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (MulActionWithZero.toSMulWithZero.{u3, u1} S R (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3)) (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (Module.toMulActionWithZero.{u3, u1} S R (CommSemiring.toSemiring.{u3} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u3, u1} S R _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6))))) (SMulWithZero.toSmulZeroClass.{u3, u1} S R (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3))))) (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (MulActionWithZero.toSMulWithZero.{u3, u1} S R (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3)) (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Module.toMulActionWithZero.{u3, u1} S R (CommSemiring.toSemiring.{u3} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u3, u1} S R _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6)))) (SMulWithZero.toSmulZeroClass.{u1, u1} R R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (MulZeroClass.toSMulWithZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (IsScalarTower.right.{u3, u1} S R _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6))) x)) (coeFn.{max (succ u1) (succ u4), max (succ u1) (succ u4)} (AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) (fun (_x : AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) => R -> A) ([anonymous].{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) g x)
but is expected to have type
- forall {R : Type.{u4}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u4} R] {S : Type.{u1}} {A : Type.{u3}} [_inst_3 : CommSemiring.{u1} S] [_inst_4 : CommSemiring.{u3} A] [_inst_6 : Algebra.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1)] [_inst_7 : Algebra.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4)] (g : AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) (y : σ -> A) (x : R), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u2, u4} σ R _inst_1) => A) (FunLike.coe.{max (succ u4) (succ u2), succ u4, max (succ u4) (succ u2)} (AlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : R) => MvPolynomial.{u2, u4} σ R _inst_1) a) (SMulHomClass.toFunLike.{max u4 u2, u1, u4, max u4 u2} (AlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)) S R (MvPolynomial.{u2, u4} σ R _inst_1) (SMulZeroClass.toSMul.{u1, u4} S R (AddMonoid.toZero.{u4} R (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u1, u4} S R (AddMonoid.toAddZeroClass.{u4} R (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u1, u4} S R (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6))))) (SMulZeroClass.toSMul.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toZero.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))))) (DistribSMul.toSMulZeroClass.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))))) (DistribMulAction.toDistribSMul.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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)))))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)))))) (DistribMulActionHomClass.toSMulHomClass.{max u4 u2, u1, u4, max u4 u2} (AlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)) S R (MvPolynomial.{u2, u4} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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)))))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u4 u2, u1, u4, max u4 u2} (AlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)) S R (MvPolynomial.{u2, u4} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, u4, max u4 u2, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) (AlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)) (AlgHom.algHomClass.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)))))) (IsScalarTower.toAlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 _inst_1 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u4, u4, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) (MvPolynomial.isScalarTower.{u1, u4, u4, u2} S R R σ _inst_1 (Algebra.toSMul.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6) (SMulWithZero.toSMulZeroClass.{u1, u4} S R (CommMonoidWithZero.toZero.{u1} S (CommSemiring.toCommMonoidWithZero.{u1} S _inst_3)) (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (MulActionWithZero.toSMulWithZero.{u1, u4} S R (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3)) (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (Module.toMulActionWithZero.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)))) (SMulWithZero.toSMulZeroClass.{u4, u4} R R (CommMonoidWithZero.toZero.{u4} R (CommSemiring.toCommMonoidWithZero.{u4} R _inst_1)) (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (MulActionWithZero.toSMulWithZero.{u4, u4} R R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (Module.toMulActionWithZero.{u4, u4} R R (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u4, u4} R R _inst_1 (CommSemiring.toSemiring.{u4} R _inst_1) (Algebra.id.{u4} R _inst_1))))) (IsScalarTower.right.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6))) x)) (FunLike.coe.{max (max (succ u4) (succ u2)) (succ u3), max (succ u4) (succ u2), succ u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (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) => A) _x) (SMulHomClass.toFunLike.{max (max u4 u2) u3, u1, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u4} σ R _inst_1) A (SMulZeroClass.toSMul.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toZero.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))))) (DistribSMul.toSMulZeroClass.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))))) (DistribMulAction.toDistribSMul.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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)))))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)))))) (SMulZeroClass.toSMul.{u1, u3} S A (AddMonoid.toZero.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribSMul.toSMulZeroClass.{u1, u3} S A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribMulAction.toDistribSMul.{u1, u3} S A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u2) u3, u1, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u4} σ R _inst_1) A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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)))))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u4 u2) u3, u1, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u4} σ R _inst_1) A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (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.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, max u4 u2, u3, max (max u4 u2) u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7 (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (AlgHom.algHomClass.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7))))) (MvPolynomial.aevalTower.{u4, u2, u1, u3} R σ _inst_1 S A _inst_3 _inst_4 _inst_6 _inst_7 g y) (FunLike.coe.{max (succ u4) (succ u2), succ u4, max (succ u4) (succ u2)} (AlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : R) => MvPolynomial.{u2, u4} σ R _inst_1) _x) (SMulHomClass.toFunLike.{max u4 u2, u1, u4, max u4 u2} (AlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)) S R (MvPolynomial.{u2, u4} σ R _inst_1) (SMulZeroClass.toSMul.{u1, u4} S R (AddMonoid.toZero.{u4} R (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u1, u4} S R (AddMonoid.toAddZeroClass.{u4} R (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u1, u4} S R (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6))))) (SMulZeroClass.toSMul.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toZero.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))))) (DistribSMul.toSMulZeroClass.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))))) (DistribMulAction.toDistribSMul.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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)))))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)))))) (DistribMulActionHomClass.toSMulHomClass.{max u4 u2, u1, u4, max u4 u2} (AlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)) S R (MvPolynomial.{u2, u4} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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)))))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u4 u2, u1, u4, max u4 u2} (AlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)) S R (MvPolynomial.{u2, u4} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, u4, max u4 u2, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) (AlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)) (AlgHom.algHomClass.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)))))) (IsScalarTower.toAlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 _inst_1 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u4, u4, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) (MvPolynomial.isScalarTower.{u1, u4, u4, u2} S R R σ _inst_1 (Algebra.toSMul.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6) (SMulWithZero.toSMulZeroClass.{u1, u4} S R (CommMonoidWithZero.toZero.{u1} S (CommSemiring.toCommMonoidWithZero.{u1} S _inst_3)) (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (MulActionWithZero.toSMulWithZero.{u1, u4} S R (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3)) (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (Module.toMulActionWithZero.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)))) (SMulWithZero.toSMulZeroClass.{u4, u4} R R (CommMonoidWithZero.toZero.{u4} R (CommSemiring.toCommMonoidWithZero.{u4} R _inst_1)) (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (MulActionWithZero.toSMulWithZero.{u4, u4} R R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (Module.toMulActionWithZero.{u4, u4} R R (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u4, u4} R R _inst_1 (CommSemiring.toSemiring.{u4} R _inst_1) (Algebra.id.{u4} R _inst_1))))) (IsScalarTower.right.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6))) x)) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : R) => A) _x) (SMulHomClass.toFunLike.{max u4 u3, u1, u4, u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) S R A (SMulZeroClass.toSMul.{u1, u4} S R (AddMonoid.toZero.{u4} R (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u1, u4} S R (AddMonoid.toAddZeroClass.{u4} R (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u1, u4} S R (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6))))) (SMulZeroClass.toSMul.{u1, u3} S A (AddMonoid.toZero.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribSMul.toSMulZeroClass.{u1, u3} S A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribMulAction.toDistribSMul.{u1, u3} S A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7))))) (DistribMulActionHomClass.toSMulHomClass.{max u4 u3, u1, u4, u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) S R A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u4 u3, u1, u4, u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) S R A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, u4, u3, max u4 u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7 (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) (AlgHom.algHomClass.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7))))) g x)
+ forall {R : Type.{u4}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u4} R] {S : Type.{u1}} {A : Type.{u3}} [_inst_3 : CommSemiring.{u1} S] [_inst_4 : CommSemiring.{u3} A] [_inst_6 : Algebra.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1)] [_inst_7 : Algebra.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4)] (g : AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) (y : σ -> A) (x : R), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u2, u4} σ R _inst_1) => A) (FunLike.coe.{max (succ u4) (succ u2), succ u4, max (succ u4) (succ u2)} (AlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R) => MvPolynomial.{u2, u4} σ R _inst_1) a) (SMulHomClass.toFunLike.{max u4 u2, u1, u4, max u4 u2} (AlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)) S R (MvPolynomial.{u2, u4} σ R _inst_1) (SMulZeroClass.toSMul.{u1, u4} S R (AddMonoid.toZero.{u4} R (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u1, u4} S R (AddMonoid.toAddZeroClass.{u4} R (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u1, u4} S R (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6))))) (SMulZeroClass.toSMul.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toZero.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))))) (DistribSMul.toSMulZeroClass.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))))) (DistribMulAction.toDistribSMul.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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)))))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)))))) (DistribMulActionHomClass.toSMulHomClass.{max u4 u2, u1, u4, max u4 u2} (AlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)) S R (MvPolynomial.{u2, u4} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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)))))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u4 u2, u1, u4, max u4 u2} (AlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)) S R (MvPolynomial.{u2, u4} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, u4, max u4 u2, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) (AlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)) (AlgHom.algHomClass.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)))))) (IsScalarTower.toAlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 _inst_1 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u4, u4, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) (MvPolynomial.isScalarTower.{u1, u4, u4, u2} S R R σ _inst_1 (Algebra.toSMul.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6) (SMulWithZero.toSMulZeroClass.{u1, u4} S R (CommMonoidWithZero.toZero.{u1} S (CommSemiring.toCommMonoidWithZero.{u1} S _inst_3)) (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (MulActionWithZero.toSMulWithZero.{u1, u4} S R (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3)) (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (Module.toMulActionWithZero.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)))) (SMulWithZero.toSMulZeroClass.{u4, u4} R R (CommMonoidWithZero.toZero.{u4} R (CommSemiring.toCommMonoidWithZero.{u4} R _inst_1)) (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (MulActionWithZero.toSMulWithZero.{u4, u4} R R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (Module.toMulActionWithZero.{u4, u4} R R (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u4, u4} R R _inst_1 (CommSemiring.toSemiring.{u4} R _inst_1) (Algebra.id.{u4} R _inst_1))))) (IsScalarTower.right.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6))) x)) (FunLike.coe.{max (max (succ u4) (succ u2)) (succ u3), max (succ u4) (succ u2), succ u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (MvPolynomial.{u2, u4} σ R _inst_1) (fun (_x : MvPolynomial.{u2, u4} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : MvPolynomial.{u2, u4} σ R _inst_1) => A) _x) (SMulHomClass.toFunLike.{max (max u4 u2) u3, u1, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u4} σ R _inst_1) A (SMulZeroClass.toSMul.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toZero.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))))) (DistribSMul.toSMulZeroClass.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))))) (DistribMulAction.toDistribSMul.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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)))))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)))))) (SMulZeroClass.toSMul.{u1, u3} S A (AddMonoid.toZero.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribSMul.toSMulZeroClass.{u1, u3} S A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribMulAction.toDistribSMul.{u1, u3} S A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u2) u3, u1, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u4} σ R _inst_1) A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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)))))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u4 u2) u3, u1, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u4} σ R _inst_1) A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (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.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, max u4 u2, u3, max (max u4 u2) u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7 (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (AlgHom.algHomClass.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7))))) (MvPolynomial.aevalTower.{u4, u2, u1, u3} R σ _inst_1 S A _inst_3 _inst_4 _inst_6 _inst_7 g y) (FunLike.coe.{max (succ u4) (succ u2), succ u4, max (succ u4) (succ u2)} (AlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R) => MvPolynomial.{u2, u4} σ R _inst_1) _x) (SMulHomClass.toFunLike.{max u4 u2, u1, u4, max u4 u2} (AlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)) S R (MvPolynomial.{u2, u4} σ R _inst_1) (SMulZeroClass.toSMul.{u1, u4} S R (AddMonoid.toZero.{u4} R (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u1, u4} S R (AddMonoid.toAddZeroClass.{u4} R (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u1, u4} S R (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6))))) (SMulZeroClass.toSMul.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toZero.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))))) (DistribSMul.toSMulZeroClass.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))))) (DistribMulAction.toDistribSMul.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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)))))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)))))) (DistribMulActionHomClass.toSMulHomClass.{max u4 u2, u1, u4, max u4 u2} (AlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)) S R (MvPolynomial.{u2, u4} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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)))))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u4 u2, u1, u4, max u4 u2} (AlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)) S R (MvPolynomial.{u2, u4} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, u4, max u4 u2, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) (AlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)) (AlgHom.algHomClass.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)))))) (IsScalarTower.toAlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 _inst_1 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u4, u4, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) (MvPolynomial.isScalarTower.{u1, u4, u4, u2} S R R σ _inst_1 (Algebra.toSMul.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6) (SMulWithZero.toSMulZeroClass.{u1, u4} S R (CommMonoidWithZero.toZero.{u1} S (CommSemiring.toCommMonoidWithZero.{u1} S _inst_3)) (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (MulActionWithZero.toSMulWithZero.{u1, u4} S R (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3)) (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (Module.toMulActionWithZero.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)))) (SMulWithZero.toSMulZeroClass.{u4, u4} R R (CommMonoidWithZero.toZero.{u4} R (CommSemiring.toCommMonoidWithZero.{u4} R _inst_1)) (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (MulActionWithZero.toSMulWithZero.{u4, u4} R R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (Module.toMulActionWithZero.{u4, u4} R R (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u4, u4} R R _inst_1 (CommSemiring.toSemiring.{u4} R _inst_1) (Algebra.id.{u4} R _inst_1))))) (IsScalarTower.right.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6))) x)) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : R) => A) _x) (SMulHomClass.toFunLike.{max u4 u3, u1, u4, u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) S R A (SMulZeroClass.toSMul.{u1, u4} S R (AddMonoid.toZero.{u4} R (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u1, u4} S R (AddMonoid.toAddZeroClass.{u4} R (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u1, u4} S R (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6))))) (SMulZeroClass.toSMul.{u1, u3} S A (AddMonoid.toZero.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribSMul.toSMulZeroClass.{u1, u3} S A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribMulAction.toDistribSMul.{u1, u3} S A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7))))) (DistribMulActionHomClass.toSMulHomClass.{max u4 u3, u1, u4, u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) S R A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u4 u3, u1, u4, u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) S R A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, u4, u3, max u4 u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7 (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) (AlgHom.algHomClass.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7))))) g x)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_tower_to_alg_hom MvPolynomial.aevalTower_toAlgHomₓ'. -/
theorem aevalTower_toAlgHom (x : R) :
aevalTower g y (IsScalarTower.toAlgHom S R (MvPolynomial σ R) x) = g x :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/33c67ae661dd8988516ff7f247b0be3018cdd952
@@ -893,7 +893,7 @@ theorem support_monomial_subset : (monomial s a).support ⊆ {s} :=
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {p : MvPolynomial.{u2, u1} σ R _inst_1} {q : MvPolynomial.{u2, u1} σ R _inst_1} [_inst_3 : DecidableEq.{succ u2} σ], HasSubset.Subset.{u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasSubset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (MvPolynomial.support.{u1, u2} R σ _inst_1 (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHAdd.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasAdd.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) p q)) (Union.union.{u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasUnion.{u2} (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 : σ) => _inst_3 a b) (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) a b)) (MvPolynomial.support.{u1, u2} R σ _inst_1 p) (MvPolynomial.support.{u1, u2} R σ _inst_1 q))
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {p : MvPolynomial.{u1, u2} σ R _inst_1} {q : MvPolynomial.{u1, u2} σ R _inst_1}, HasSubset.Subset.{u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instHasSubsetFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.support.{u2, u1} R σ _inst_1 (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHAdd.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (Distrib.toAdd.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))))) p q)) (Union.union.{u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instUnionFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (fun (a : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (b : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => 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)) (MvPolynomial.support.{u2, u1} R σ _inst_1 p) (MvPolynomial.support.{u2, u1} R σ _inst_1 q))
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {p : MvPolynomial.{u1, u2} σ R _inst_1} {q : MvPolynomial.{u1, u2} σ R _inst_1} [_inst_3 : DecidableEq.{succ u1} σ], HasSubset.Subset.{u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instHasSubsetFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.support.{u2, u1} R σ _inst_1 (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHAdd.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (Distrib.toAdd.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))))) p q)) (Union.union.{u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instUnionFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (fun (a : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (b : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Finsupp.decidableEq.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (fun (a : σ) (b : σ) => _inst_3 a b) (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) a b)) (MvPolynomial.support.{u2, u1} R σ _inst_1 p) (MvPolynomial.support.{u2, u1} R σ _inst_1 q))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.support_add MvPolynomial.support_addₓ'. -/
theorem support_add [DecidableEq σ] : (p + q).support ⊆ p.support ∪ q.support :=
Finsupp.support_add
@@ -946,7 +946,7 @@ theorem support_smul {S₁ : Type _} [SMulZeroClass S₁ R] {a : S₁} {f : MvPo
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {α : Type.{u3}} [_inst_3 : DecidableEq.{succ u2} σ] {s : Finset.{u3} α} {f : α -> (MvPolynomial.{u2, u1} σ R _inst_1)}, HasSubset.Subset.{u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasSubset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (MvPolynomial.support.{u1, u2} R σ _inst_1 (Finset.sum.{max u2 u1, u3} (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))))) s (fun (x : α) => f x))) (Finset.biUnion.{u3, u2} α (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 : σ) => _inst_3 a b) (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) a b) s (fun (x : α) => MvPolynomial.support.{u1, u2} R σ _inst_1 (f x)))
but is expected to have type
- forall {R : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] {α : Type.{u2}} {_inst_3 : Finset.{u2} α} {s : α -> (MvPolynomial.{u1, u3} σ R _inst_1)}, HasSubset.Subset.{u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instHasSubsetFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.support.{u3, u1} R σ _inst_1 (Finset.sum.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) α (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) _inst_3 (fun (x : α) => s x))) (Finset.biUnion.{u2, u1} α (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (fun (a : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (b : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => 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) _inst_3 (fun (x : α) => MvPolynomial.support.{u3, u1} R σ _inst_1 (s x)))
+ forall {R : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] {α : Type.{u2}} [_inst_3 : DecidableEq.{succ u1} σ] {s : Finset.{u2} α} {f : α -> (MvPolynomial.{u1, u3} σ R _inst_1)}, HasSubset.Subset.{u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instHasSubsetFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.support.{u3, u1} R σ _inst_1 (Finset.sum.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) α (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) s (fun (x : α) => f x))) (Finset.biUnion.{u2, u1} α (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (fun (a : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (b : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Finsupp.decidableEq.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (fun (a : σ) (b : σ) => _inst_3 a b) (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) a b) s (fun (x : α) => MvPolynomial.support.{u3, u1} R σ _inst_1 (f x)))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.support_sum MvPolynomial.support_sumₓ'. -/
theorem support_sum {α : Type _} [DecidableEq σ] {s : Finset α} {f : α → MvPolynomial σ R} :
(∑ x in s, f x).support ⊆ s.biUnion fun x => (f x).support :=
@@ -999,7 +999,7 @@ theorem sum_def {A} [AddCommMonoid A] {p : MvPolynomial σ R} {b : (σ →₀
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_3 : DecidableEq.{succ u2} σ] (p : MvPolynomial.{u2, u1} σ R _inst_1) (q : MvPolynomial.{u2, u1} σ R _inst_1), HasSubset.Subset.{u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasSubset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (MvPolynomial.support.{u1, u2} R σ _inst_1 (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) p q)) (Finset.biUnion.{u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (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 : σ) => _inst_3 a b) (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) a b) (MvPolynomial.support.{u1, u2} R σ _inst_1 p) (fun (a : Finsupp.{u2, 0} σ Nat Nat.hasZero) => Finset.biUnion.{u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (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 : σ) => _inst_3 a b) (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) a b) (MvPolynomial.support.{u1, u2} R σ _inst_1 q) (fun (b : Finsupp.{u2, 0} σ Nat Nat.hasZero) => Singleton.singleton.{u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasSingleton.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (HAdd.hAdd.{u2, u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (instHAdd.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.add.{u2, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) a b))))
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (_inst_3 : MvPolynomial.{u1, u2} σ R _inst_1) (p : MvPolynomial.{u1, u2} σ R _inst_1), HasSubset.Subset.{u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instHasSubsetFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.support.{u2, u1} R σ _inst_1 (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) _inst_3 p)) (Finset.biUnion.{u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (fun (a : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (b : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => 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) (MvPolynomial.support.{u2, u1} R σ _inst_1 _inst_3) (fun (a : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Finset.biUnion.{u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (fun (a : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (b : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => 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) (MvPolynomial.support.{u2, u1} R σ _inst_1 p) (fun (b : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Singleton.singleton.{u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instSingletonFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (HAdd.hAdd.{u1, u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHAdd.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.add.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) a b))))
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_3 : DecidableEq.{succ u1} σ] (p : MvPolynomial.{u1, u2} σ R _inst_1) (q : MvPolynomial.{u1, u2} σ R _inst_1), HasSubset.Subset.{u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instHasSubsetFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.support.{u2, u1} R σ _inst_1 (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) p q)) (Finset.biUnion.{u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (fun (a : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (b : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Finsupp.decidableEq.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (fun (a : σ) (b : σ) => _inst_3 a b) (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) a b) (MvPolynomial.support.{u2, u1} R σ _inst_1 p) (fun (a : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Finset.biUnion.{u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (fun (a : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (b : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Finsupp.decidableEq.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (fun (a : σ) (b : σ) => _inst_3 a b) (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) a b) (MvPolynomial.support.{u2, u1} R σ _inst_1 q) (fun (b : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Singleton.singleton.{u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instSingletonFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (HAdd.hAdd.{u1, u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHAdd.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.add.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) a b))))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.support_mul MvPolynomial.support_mulₓ'. -/
theorem support_mul [DecidableEq σ] (p q : MvPolynomial σ R) :
(p * q).support ⊆ p.support.biUnion fun a => q.support.biUnion fun b => {a + b} := by
@@ -2622,7 +2622,7 @@ theorem map_aeval {B : Type _} [CommSemiring B] (g : σ → S₁) (φ : S₁ →
lean 3 declaration is
forall {R : Type.{u1}} {S₂ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_4 : CommSemiring.{u2} S₂] (f : RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))), Eq.{max (succ (max u3 u1)) (succ u2)} (RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (MvPolynomial.eval₂Hom.{u1, u2, u3} R S₂ σ _inst_1 _inst_4 f (OfNat.ofNat.{max u3 u2} (σ -> S₂) 0 (OfNat.mk.{max u3 u2} (σ -> S₂) 0 (Zero.zero.{max u3 u2} (σ -> S₂) (Pi.instZero.{u3, u2} σ (fun (ᾰ : σ) => S₂) (fun (i : σ) => MulZeroClass.toHasZero.{u2} S₂ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4)))))))))) (RingHom.comp.{max u3 u1, u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) R S₂ (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4)) f (MvPolynomial.constantCoeff.{u1, u3} R σ _inst_1))
but is expected to have type
- forall {R : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_4 : CommSemiring.{u3} S₂] (f : RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))), Eq.{max (max (succ u2) (succ u3)) (succ u1)} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₂ σ _inst_1 _inst_4 f (OfNat.ofNat.{max u3 u1} (σ -> S₂) 0 (Zero.toOfNat0.{max u3 u1} (σ -> S₂) (Pi.instZero.{u1, u3} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.20500 : σ) => S₂) (fun (i : σ) => CommMonoidWithZero.toZero.{u3} S₂ (CommSemiring.toCommMonoidWithZero.{u3} S₂ _inst_4)))))) (RingHom.comp.{max u1 u2, u2, u3} (MvPolynomial.{u1, u2} σ R _inst_1) R 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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) f (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1))
+ forall {R : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_4 : CommSemiring.{u3} S₂] (f : RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))), Eq.{max (max (succ u2) (succ u3)) (succ u1)} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₂ σ _inst_1 _inst_4 f (OfNat.ofNat.{max u3 u1} (σ -> S₂) 0 (Zero.toOfNat0.{max u3 u1} (σ -> S₂) (Pi.instZero.{u1, u3} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.20540 : σ) => S₂) (fun (i : σ) => CommMonoidWithZero.toZero.{u3} S₂ (CommSemiring.toCommMonoidWithZero.{u3} S₂ _inst_4)))))) (RingHom.comp.{max u1 u2, u2, u3} (MvPolynomial.{u1, u2} σ R _inst_1) R 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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) f (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_hom_zero MvPolynomial.eval₂Hom_zeroₓ'. -/
@[simp]
theorem eval₂Hom_zero (f : R →+* S₂) : eval₂Hom f (0 : σ → S₂) = f.comp constantCoeff := by
@@ -2644,7 +2644,7 @@ theorem eval₂Hom_zero' (f : R →+* S₂) : eval₂Hom f (fun _ => 0 : σ →
lean 3 declaration is
forall {R : Type.{u1}} {S₂ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_4 : CommSemiring.{u2} S₂] (f : RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (p : MvPolynomial.{u3, u1} σ R _inst_1), Eq.{succ u2} S₂ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (fun (_x : RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₂) (RingHom.hasCoeToFun.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (MvPolynomial.eval₂Hom.{u1, u2, u3} R S₂ σ _inst_1 _inst_4 f (OfNat.ofNat.{max u3 u2} (σ -> S₂) 0 (OfNat.mk.{max u3 u2} (σ -> S₂) 0 (Zero.zero.{max u3 u2} (σ -> S₂) (Pi.instZero.{u3, u2} σ (fun (ᾰ : σ) => S₂) (fun (i : σ) => MulZeroClass.toHasZero.{u2} S₂ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4)))))))))) p) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (fun (_x : RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) => R -> S₂) (RingHom.hasCoeToFun.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) f (coeFn.{max (succ (max u3 u1)) (succ u1), max (succ (max u3 u1)) (succ u1)} (RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.constantCoeff.{u1, u3} R σ _inst_1) p))
but is expected to have type
- forall {R : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_4 : CommSemiring.{u3} S₂] (f : RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) p) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₂ σ _inst_1 _inst_4 f (OfNat.ofNat.{max u3 u1} (σ -> S₂) 0 (Zero.toOfNat0.{max u3 u1} (σ -> S₂) (Pi.instZero.{u1, u3} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.20654 : σ) => S₂) (fun (i : σ) => CommMonoidWithZero.toZero.{u3} S₂ (CommSemiring.toCommMonoidWithZero.{u3} S₂ _inst_4)))))) p) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₂) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))))) f (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) p))
+ forall {R : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_4 : CommSemiring.{u3} S₂] (f : RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) p) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₂ σ _inst_1 _inst_4 f (OfNat.ofNat.{max u3 u1} (σ -> S₂) 0 (Zero.toOfNat0.{max u3 u1} (σ -> S₂) (Pi.instZero.{u1, u3} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.20694 : σ) => S₂) (fun (i : σ) => CommMonoidWithZero.toZero.{u3} S₂ (CommSemiring.toCommMonoidWithZero.{u3} S₂ _inst_4)))))) p) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₂) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))))) f (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) p))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_hom_zero_apply MvPolynomial.eval₂Hom_zero_applyₓ'. -/
theorem eval₂Hom_zero_apply (f : R →+* S₂) (p : MvPolynomial σ R) :
eval₂Hom f (0 : σ → S₂) p = f (constantCoeff p) :=
@@ -2666,7 +2666,7 @@ theorem eval₂Hom_zero'_apply (f : R →+* S₂) (p : MvPolynomial σ R) :
lean 3 declaration is
forall {R : Type.{u1}} {S₂ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_4 : CommSemiring.{u2} S₂] (f : RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (p : MvPolynomial.{u3, u1} σ R _inst_1), Eq.{succ u2} S₂ (MvPolynomial.eval₂.{u1, u2, u3} R S₂ σ _inst_1 _inst_4 f (OfNat.ofNat.{max u3 u2} (σ -> S₂) 0 (OfNat.mk.{max u3 u2} (σ -> S₂) 0 (Zero.zero.{max u3 u2} (σ -> S₂) (Pi.instZero.{u3, u2} σ (fun (ᾰ : σ) => S₂) (fun (i : σ) => MulZeroClass.toHasZero.{u2} S₂ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))))))))) p) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (fun (_x : RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) => R -> S₂) (RingHom.hasCoeToFun.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) f (coeFn.{max (succ (max u3 u1)) (succ u1), max (succ (max u3 u1)) (succ u1)} (RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.constantCoeff.{u1, u3} R σ _inst_1) p))
but is expected to have type
- forall {R : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_4 : CommSemiring.{u3} S₂] (f : RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} S₂ (MvPolynomial.eval₂.{u2, u3, u1} R S₂ σ _inst_1 _inst_4 f (OfNat.ofNat.{max u3 u1} (σ -> S₂) 0 (Zero.toOfNat0.{max u3 u1} (σ -> S₂) (Pi.instZero.{u1, u3} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.20813 : σ) => S₂) (fun (i : σ) => CommMonoidWithZero.toZero.{u3} S₂ (CommSemiring.toCommMonoidWithZero.{u3} S₂ _inst_4))))) p) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₂) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))))) f (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) p))
+ forall {R : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_4 : CommSemiring.{u3} S₂] (f : RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} S₂ (MvPolynomial.eval₂.{u2, u3, u1} R S₂ σ _inst_1 _inst_4 f (OfNat.ofNat.{max u3 u1} (σ -> S₂) 0 (Zero.toOfNat0.{max u3 u1} (σ -> S₂) (Pi.instZero.{u1, u3} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.20853 : σ) => S₂) (fun (i : σ) => CommMonoidWithZero.toZero.{u3} S₂ (CommSemiring.toCommMonoidWithZero.{u3} S₂ _inst_4))))) p) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₂) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))))) f (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) p))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_zero_apply MvPolynomial.eval₂_zero_applyₓ'. -/
@[simp]
theorem eval₂_zero_apply (f : R →+* S₂) (p : MvPolynomial σ R) :
@@ -2690,7 +2690,7 @@ theorem eval₂_zero'_apply (f : R →+* S₂) (p : MvPolynomial σ R) :
lean 3 declaration is
forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : Algebra.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2)] (p : MvPolynomial.{u3, u1} σ R _inst_1), Eq.{succ u2} S₁ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (fun (_x : AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) ([anonymous].{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (MvPolynomial.aeval.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 _inst_3 (OfNat.ofNat.{max u3 u2} (σ -> S₁) 0 (OfNat.mk.{max u3 u2} (σ -> S₁) 0 (Zero.zero.{max u3 u2} (σ -> S₁) (Pi.instZero.{u3, u2} σ (fun (ᾰ : σ) => S₁) (fun (i : σ) => MulZeroClass.toHasZero.{u2} S₁ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))))))))) p) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (algebraMap.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) _inst_3) (coeFn.{max (succ (max u3 u1)) (succ u1), max (succ (max u3 u1)) (succ u1)} (RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.constantCoeff.{u1, u3} R σ _inst_1) p))
but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : Algebra.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2)] (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) p) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u1) (succ u2), succ u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (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) => S₁) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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, 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.{u2, 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.{u2, u3} R S₁ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{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.{u2, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, 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.{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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u1 u2, u3, max (max u3 u1) u2} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3 (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (AlgHom.algHomClass.{u2, max u1 u2, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3))))) (MvPolynomial.aeval.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_3 (OfNat.ofNat.{max u3 u1} (σ -> S₁) 0 (Zero.toOfNat0.{max u3 u1} (σ -> S₁) (Pi.instZero.{u1, u3} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.20961 : σ) => S₁) (fun (i : σ) => CommMonoidWithZero.toZero.{u3} S₁ (CommSemiring.toCommMonoidWithZero.{u3} S₁ _inst_2)))))) p) (FunLike.coe.{max (succ u3) (succ u2), succ u2, succ u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) => S₁) _x) (MulHomClass.toFunLike.{max u3 u2, u2, u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (NonUnitalNonAssocSemiring.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u2, u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u2, u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (algebraMap.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) p))
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : Algebra.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2)] (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) p) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u1) (succ u2), succ u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (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) => S₁) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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, 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.{u2, 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.{u2, u3} R S₁ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{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.{u2, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, 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.{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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u1 u2, u3, max (max u3 u1) u2} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3 (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (AlgHom.algHomClass.{u2, max u1 u2, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3))))) (MvPolynomial.aeval.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_3 (OfNat.ofNat.{max u3 u1} (σ -> S₁) 0 (Zero.toOfNat0.{max u3 u1} (σ -> S₁) (Pi.instZero.{u1, u3} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.21001 : σ) => S₁) (fun (i : σ) => CommMonoidWithZero.toZero.{u3} S₁ (CommSemiring.toCommMonoidWithZero.{u3} S₁ _inst_2)))))) p) (FunLike.coe.{max (succ u3) (succ u2), succ u2, succ u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) => S₁) _x) (MulHomClass.toFunLike.{max u3 u2, u2, u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (NonUnitalNonAssocSemiring.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u2, u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u2, u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (algebraMap.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) p))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_zero MvPolynomial.aeval_zeroₓ'. -/
@[simp]
theorem aeval_zero (p : MvPolynomial σ R) :
@@ -2714,7 +2714,7 @@ theorem aeval_zero' (p : MvPolynomial σ R) :
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R], Eq.{max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.eval.{u1, u2} R σ _inst_1 (OfNat.ofNat.{max u2 u1} (σ -> R) 0 (OfNat.mk.{max u2 u1} (σ -> R) 0 (Zero.zero.{max u2 u1} (σ -> R) (Pi.instZero.{u2, u1} σ (fun (ᾰ : σ) => R) (fun (i : σ) => MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))) (MvPolynomial.constantCoeff.{u1, u2} R σ _inst_1)
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.eval.{u2, u1} R σ _inst_1 (OfNat.ofNat.{max u2 u1} (σ -> R) 0 (Zero.toOfNat0.{max u2 u1} (σ -> R) (Pi.instZero.{u1, u2} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.21109 : σ) => R) (fun (i : σ) => CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1)
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.eval.{u2, u1} R σ _inst_1 (OfNat.ofNat.{max u2 u1} (σ -> R) 0 (Zero.toOfNat0.{max u2 u1} (σ -> R) (Pi.instZero.{u1, u2} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.21149 : σ) => R) (fun (i : σ) => CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval_zero MvPolynomial.eval_zeroₓ'. -/
@[simp]
theorem eval_zero : eval (0 : σ → R) = constantCoeff :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/95a87616d63b3cb49d3fe678d416fbe9c4217bf4
@@ -250,7 +250,7 @@ theorem monomial_left_inj {s t : σ →₀ ℕ} {r : R} (hr : r ≠ 0) :
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} {a : R} [_inst_1 : CommSemiring.{u1} R], Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 (OfNat.ofNat.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (OfNat.mk.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (Zero.zero.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.zero.{u2, 0} σ Nat Nat.hasZero))))) a)
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (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) a) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 (OfNat.ofNat.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) 0 (Zero.toOfNat0.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.zero.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))))) a)
+ forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (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.2397 : 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) a) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 (OfNat.ofNat.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) 0 (Zero.toOfNat0.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.zero.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))))) a)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.C_apply MvPolynomial.C_applyₓ'. -/
theorem C_apply : (C a : MvPolynomial σ R) = monomial 0 a :=
rfl
@@ -260,7 +260,7 @@ theorem C_apply : (C a : MvPolynomial σ R) = monomial 0 a :=
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R], Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) (OfNat.ofNat.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) 0 (OfNat.mk.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) 0 (Zero.zero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MulZeroClass.toHasZero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toMulZeroClass.{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)))))))))
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{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 (_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) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) (OfNat.ofNat.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) 0 (Zero.toOfNat0.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (CommMonoidWithZero.toZero.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toCommMonoidWithZero.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))))
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{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 (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : 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) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) (OfNat.ofNat.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) 0 (Zero.toOfNat0.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (CommMonoidWithZero.toZero.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toCommMonoidWithZero.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.C_0 MvPolynomial.C_0ₓ'. -/
@[simp]
theorem C_0 : C 0 = (0 : MvPolynomial σ R) := by simp [C_apply, monomial]
@@ -270,7 +270,7 @@ theorem C_0 : C 0 = (0 : MvPolynomial σ R) := by simp [C_apply, monomial]
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R], Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) (OfNat.ofNat.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) 1 (OfNat.mk.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) 1 (One.one.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (AddMonoidWithOne.toOne.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (AddCommMonoidWithOne.toAddMonoidWithOne.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toAddCommMonoidWithOne.{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)))))))))
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R (CommSemiring.toSemiring.{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 (_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) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (OfNat.ofNat.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) 1 (One.toOfNat1.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toOne.{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)))))
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R (CommSemiring.toSemiring.{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 (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : 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) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (OfNat.ofNat.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) 1 (One.toOfNat1.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toOne.{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)))))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.C_1 MvPolynomial.C_1ₓ'. -/
@[simp]
theorem C_1 : C 1 = (1 : MvPolynomial σ R) :=
@@ -281,7 +281,7 @@ theorem C_1 : C 1 = (1 : MvPolynomial σ R) :=
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} {a : R} {a' : R} {s : Finsupp.{u2, 0} σ Nat Nat.hasZero} [_inst_1 : CommSemiring.{u1} R], Eq.{succ (max u2 u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) a')) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) a a'))
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} {a' : R} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) a a')) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a') ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) a a')) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} 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 (_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) a) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a')) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) a a'))
+ forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} {a' : R} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) a a')) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a') ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) a a')) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} 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 (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : 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) a) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a')) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) a a'))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.C_mul_monomial MvPolynomial.C_mul_monomialₓ'. -/
theorem C_mul_monomial : C a * monomial s a' = monomial s (a * a') := by
simp [C_apply, monomial, single_mul_single]
@@ -291,7 +291,7 @@ theorem C_mul_monomial : C a * monomial s a' = monomial s (a * a') := by
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} {a : R} {a' : R} [_inst_1 : CommSemiring.{u1} R], Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) (HAdd.hAdd.{u1, u1, u1} R R R (instHAdd.{u1} R (Distrib.toHasAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) a a')) (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHAdd.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasAdd.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a'))
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} {a' : R} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (HAdd.hAdd.{u2, u2, u2} R R R (instHAdd.{u2} R (Distrib.toAdd.{u2} R (NonUnitalNonAssocSemiring.toDistrib.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) a a')) (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) (HAdd.hAdd.{u2, u2, u2} R R R (instHAdd.{u2} R (Distrib.toAdd.{u2} R (NonUnitalNonAssocSemiring.toDistrib.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) a a')) (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a') ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (HAdd.hAdd.{u2, u2, u2} R R R (instHAdd.{u2} R (Distrib.toAdd.{u2} R (NonUnitalNonAssocSemiring.toDistrib.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) a a')) (instHAdd.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Distrib.toAdd.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toDistrib.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} 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 (_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) a) (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) a'))
+ forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} {a' : R} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (HAdd.hAdd.{u2, u2, u2} R R R (instHAdd.{u2} R (Distrib.toAdd.{u2} R (NonUnitalNonAssocSemiring.toDistrib.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) a a')) (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.2397 : 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) (HAdd.hAdd.{u2, u2, u2} R R R (instHAdd.{u2} R (Distrib.toAdd.{u2} R (NonUnitalNonAssocSemiring.toDistrib.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) a a')) (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a') ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (HAdd.hAdd.{u2, u2, u2} R R R (instHAdd.{u2} R (Distrib.toAdd.{u2} R (NonUnitalNonAssocSemiring.toDistrib.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) a a')) (instHAdd.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Distrib.toAdd.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toDistrib.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} 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 (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : 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) a) (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.2397 : 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) a'))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.C_add MvPolynomial.C_addₓ'. -/
@[simp]
theorem C_add : (C (a + a') : MvPolynomial σ R) = C a + C a' :=
@@ -302,7 +302,7 @@ theorem C_add : (C (a + a') : MvPolynomial σ R) = C a + C a' :=
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} {a : R} {a' : R} [_inst_1 : CommSemiring.{u1} R], Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) a a')) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a'))
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} {a' : R} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) a a')) (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) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) a a')) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a') ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) a a')) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} 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 (_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) a) (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) a'))
+ forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} {a' : R} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) a a')) (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.2397 : 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) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) a a')) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a') ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) a a')) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} 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 (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : 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) a) (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.2397 : 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) a'))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.C_mul MvPolynomial.C_mulₓ'. -/
@[simp]
theorem C_mul : (C (a * a') : MvPolynomial σ R) = C a * C a' :=
@@ -313,7 +313,7 @@ theorem C_mul : (C (a * a') : MvPolynomial σ R) = C a * C a' :=
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (a : R) (n : Nat), Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) a n)) (HPow.hPow.{max u2 u1, 0, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) Nat (MvPolynomial.{u2, u1} σ R _inst_1) (instHPow.{max u2 u1, 0} (MvPolynomial.{u2, u1} σ R _inst_1) Nat (Monoid.Pow.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MonoidWithZero.toMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a) n)
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (a : R) (n : Nat), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (HPow.hPow.{u2, 0, u2} R Nat R (instHPow.{u2, 0} R Nat (Monoid.Pow.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) a n)) (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) (HPow.hPow.{u2, 0, u2} R Nat R (instHPow.{u2, 0} R Nat (Monoid.Pow.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) a n)) (HPow.hPow.{max u2 u1, 0, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) Nat ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (instHPow.{max u2 u1, 0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) Nat (Monoid.Pow.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MonoidWithZero.toMonoid.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toMonoidWithZero.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} 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 (_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) a) n)
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (a : R) (n : Nat), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (HPow.hPow.{u2, 0, u2} R Nat R (instHPow.{u2, 0} R Nat (Monoid.Pow.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) a n)) (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.2397 : 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) (HPow.hPow.{u2, 0, u2} R Nat R (instHPow.{u2, 0} R Nat (Monoid.Pow.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) a n)) (HPow.hPow.{max u2 u1, 0, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) Nat ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (instHPow.{max u2 u1, 0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) Nat (Monoid.Pow.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MonoidWithZero.toMonoid.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toMonoidWithZero.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} 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 (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : 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) a) n)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.C_pow MvPolynomial.C_powₓ'. -/
@[simp]
theorem C_pow (a : R) (n : ℕ) : (C (a ^ n) : MvPolynomial σ R) = C a ^ n := by
@@ -324,7 +324,7 @@ theorem C_pow (a : R) (n : ℕ) : (C (a ^ n) : MvPolynomial σ R) = C a ^ n := b
lean 3 declaration is
forall (σ : Type.{u1}) (R : Type.{u2}) [_inst_3 : CommSemiring.{u2} R], Function.Injective.{succ u2, max (succ u1) (succ u2)} R (MvPolynomial.{u1, u2} σ R _inst_3) (coeFn.{max (succ u2) (succ (max u1 u2)), max (succ u2) (succ (max u1 u2))} (RingHom.{u2, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_3) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_3) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_3)))) (fun (_x : RingHom.{u2, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_3) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_3) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_3)))) => R -> (MvPolynomial.{u1, u2} σ R _inst_3)) (RingHom.hasCoeToFun.{u2, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_3) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_3) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_3)))) (MvPolynomial.C.{u2, u1} R σ _inst_3))
but is expected to have type
- forall (σ : Type.{u2}) (R : Type.{u1}) [_inst_3 : CommSemiring.{u1} R], Function.Injective.{succ u1, max (succ u2) (succ u1)} R (MvPolynomial.{u2, u1} σ R _inst_3) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (RingHom.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u2, u1} σ R _inst_3) _x) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (RingHom.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3)))) R (MvPolynomial.{u2, u1} σ R _inst_3) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)))) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3))))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (RingHom.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3)))) R (MvPolynomial.{u2, u1} σ R _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3)))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u1, max u2 u1} (RingHom.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3)))) R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3))) (RingHom.instRingHomClassRingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3))))))) (MvPolynomial.C.{u1, u2} R σ _inst_3))
+ forall (σ : Type.{u2}) (R : Type.{u1}) [_inst_3 : CommSemiring.{u1} R], Function.Injective.{succ u1, max (succ u2) (succ u1)} R (MvPolynomial.{u2, u1} σ R _inst_3) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (RingHom.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u2, u1} σ R _inst_3) _x) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (RingHom.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3)))) R (MvPolynomial.{u2, u1} σ R _inst_3) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)))) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3))))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (RingHom.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3)))) R (MvPolynomial.{u2, u1} σ R _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3)))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u1, max u2 u1} (RingHom.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3)))) R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3))) (RingHom.instRingHomClassRingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3))))))) (MvPolynomial.C.{u1, u2} R σ _inst_3))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.C_injective MvPolynomial.C_injectiveₓ'. -/
theorem C_injective (σ : Type _) (R : Type _) [CommSemiring R] :
Function.Injective (C : R → MvPolynomial σ R) :=
@@ -335,7 +335,7 @@ theorem C_injective (σ : Type _) (R : Type _) [CommSemiring R] :
lean 3 declaration is
forall {R : Type.{u1}} [_inst_3 : CommSemiring.{u1} R] (σ : Type.{u2}) [_inst_4 : IsEmpty.{succ u2} σ], Function.Surjective.{succ u1, max (succ u2) (succ u1)} R (MvPolynomial.{u2, u1} σ R _inst_3) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_3)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3)))) (MvPolynomial.C.{u1, u2} R σ _inst_3))
but is expected to have type
- forall {R : Type.{u2}} [_inst_3 : CommSemiring.{u2} R] (σ : Type.{u1}) [_inst_4 : IsEmpty.{succ u1} σ], Function.Surjective.{succ u2, max (succ u2) (succ u1)} R (MvPolynomial.{u1, u2} σ R _inst_3) (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_3) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_3) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_3) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_3)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_3) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (RingHom.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_3) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_3) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_3) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_3)))) R (MvPolynomial.{u1, u2} σ R _inst_3) (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)))) (NonUnitalNonAssocSemiring.toMul.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_3) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_3) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_3) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_3))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (RingHom.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_3) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_3) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_3) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_3)))) R (MvPolynomial.{u1, u2} σ R _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_3) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_3) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_3) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_3)))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u2, max u1 u2} (RingHom.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_3) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_3) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_3) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_3)))) R (MvPolynomial.{u1, u2} σ R _inst_3) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_3) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_3) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_3))) (RingHom.instRingHomClassRingHom.{u2, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_3) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_3) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_3) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_3))))))) (MvPolynomial.C.{u2, u1} R σ _inst_3))
+ forall {R : Type.{u2}} [_inst_3 : CommSemiring.{u2} R] (σ : Type.{u1}) [_inst_4 : IsEmpty.{succ u1} σ], Function.Surjective.{succ u2, max (succ u2) (succ u1)} R (MvPolynomial.{u1, u2} σ R _inst_3) (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_3) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_3) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_3) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_3)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_3) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (RingHom.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_3) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_3) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_3) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_3)))) R (MvPolynomial.{u1, u2} σ R _inst_3) (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)))) (NonUnitalNonAssocSemiring.toMul.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_3) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_3) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_3) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_3))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (RingHom.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_3) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_3) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_3) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_3)))) R (MvPolynomial.{u1, u2} σ R _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_3) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_3) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_3) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_3)))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u2, max u1 u2} (RingHom.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_3) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_3) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_3) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_3)))) R (MvPolynomial.{u1, u2} σ R _inst_3) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_3) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_3) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_3))) (RingHom.instRingHomClassRingHom.{u2, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_3) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_3) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_3) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_3))))))) (MvPolynomial.C.{u2, u1} R σ _inst_3))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.C_surjective MvPolynomial.C_surjectiveₓ'. -/
theorem C_surjective {R : Type _} [CommSemiring R] (σ : Type _) [IsEmpty σ] :
Function.Surjective (C : R → MvPolynomial σ R) :=
@@ -348,7 +348,7 @@ theorem C_surjective {R : Type _} [CommSemiring R] (σ : Type _) [IsEmpty σ] :
lean 3 declaration is
forall {σ : Type.{u1}} (R : Type.{u2}) [_inst_3 : CommSemiring.{u2} R] (r : R) (s : R), Iff (Eq.{max (succ u1) (succ u2)} (MvPolynomial.{u1, u2} σ R _inst_3) (coeFn.{max (succ u2) (succ (max u1 u2)), max (succ u2) (succ (max u1 u2))} (RingHom.{u2, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_3) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_3) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_3)))) (fun (_x : RingHom.{u2, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_3) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_3) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_3)))) => R -> (MvPolynomial.{u1, u2} σ R _inst_3)) (RingHom.hasCoeToFun.{u2, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_3) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_3) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_3)))) (MvPolynomial.C.{u2, u1} R σ _inst_3) r) (coeFn.{max (succ u2) (succ (max u1 u2)), max (succ u2) (succ (max u1 u2))} (RingHom.{u2, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_3) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_3) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_3)))) (fun (_x : RingHom.{u2, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_3) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_3) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_3)))) => R -> (MvPolynomial.{u1, u2} σ R _inst_3)) (RingHom.hasCoeToFun.{u2, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_3) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_3) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_3)))) (MvPolynomial.C.{u2, u1} R σ _inst_3) s)) (Eq.{succ u2} R r s)
but is expected to have type
- forall {σ : Type.{u2}} (R : Type.{u1}) [_inst_3 : CommSemiring.{u1} R] (r : R) (s : R), Iff (Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u2, u1} σ R _inst_3) r) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (RingHom.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u2, u1} σ R _inst_3) _x) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (RingHom.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3)))) R (MvPolynomial.{u2, u1} σ R _inst_3) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)))) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3))))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (RingHom.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3)))) R (MvPolynomial.{u2, u1} σ R _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3)))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u1, max u2 u1} (RingHom.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3)))) R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3))) (RingHom.instRingHomClassRingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3))))))) (MvPolynomial.C.{u1, u2} R σ _inst_3) r) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (RingHom.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u2, u1} σ R _inst_3) _x) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (RingHom.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3)))) R (MvPolynomial.{u2, u1} σ R _inst_3) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)))) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3))))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (RingHom.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3)))) R (MvPolynomial.{u2, u1} σ R _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3)))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u1, max u2 u1} (RingHom.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3)))) R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3))) (RingHom.instRingHomClassRingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3))))))) (MvPolynomial.C.{u1, u2} R σ _inst_3) s)) (Eq.{succ u1} R r s)
+ forall {σ : Type.{u2}} (R : Type.{u1}) [_inst_3 : CommSemiring.{u1} R] (r : R) (s : R), Iff (Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u2, u1} σ R _inst_3) r) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (RingHom.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u2, u1} σ R _inst_3) _x) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (RingHom.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3)))) R (MvPolynomial.{u2, u1} σ R _inst_3) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)))) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3))))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (RingHom.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3)))) R (MvPolynomial.{u2, u1} σ R _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3)))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u1, max u2 u1} (RingHom.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3)))) R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3))) (RingHom.instRingHomClassRingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3))))))) (MvPolynomial.C.{u1, u2} R σ _inst_3) r) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (RingHom.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u2, u1} σ R _inst_3) _x) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (RingHom.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3)))) R (MvPolynomial.{u2, u1} σ R _inst_3) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)))) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3))))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (RingHom.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3)))) R (MvPolynomial.{u2, u1} σ R _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3)))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u1, max u2 u1} (RingHom.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3)))) R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3))) (RingHom.instRingHomClassRingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3))))))) (MvPolynomial.C.{u1, u2} R σ _inst_3) s)) (Eq.{succ u1} R r s)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.C_inj MvPolynomial.C_injₓ'. -/
@[simp]
theorem C_inj {σ : Type _} (R : Type _) [CommSemiring R] (r s : R) :
@@ -375,7 +375,7 @@ instance infinite_of_nonempty (σ : Type _) (R : Type _) [Nonempty σ] [CommSemi
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (n : Nat), Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Nat R (HasLiftT.mk.{1, succ u1} Nat R (CoeTCₓ.coe.{1, succ u1} Nat R (Nat.castCoe.{u1} R (AddMonoidWithOne.toNatCast.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))) n)) ((fun (a : Type) (b : Sort.{max (succ u2) (succ u1)}) [self : HasLiftT.{1, max (succ u2) (succ u1)} a b] => self.0) Nat (MvPolynomial.{u2, u1} σ R _inst_1) (HasLiftT.mk.{1, max (succ u2) (succ u1)} Nat (MvPolynomial.{u2, u1} σ R _inst_1) (CoeTCₓ.coe.{1, max (succ u2) (succ u1)} Nat (MvPolynomial.{u2, u1} σ R _inst_1) (Nat.castCoe.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (AddMonoidWithOne.toNatCast.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (AddCommMonoidWithOne.toAddMonoidWithOne.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toAddCommMonoidWithOne.{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))))))))) n)
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (n : Nat), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (Nat.cast.{u2} R (Semiring.toNatCast.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) n)) (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) (Nat.cast.{u2} R (Semiring.toNatCast.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) n)) (Nat.cast.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (Nat.cast.{u2} R (Semiring.toNatCast.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) n)) (Semiring.toNatCast.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (Nat.cast.{u2} R (Semiring.toNatCast.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) n)) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (Nat.cast.{u2} R (Semiring.toNatCast.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) n)) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1))) n)
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (n : Nat), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (Nat.cast.{u2} R (Semiring.toNatCast.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) n)) (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.2397 : 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) (Nat.cast.{u2} R (Semiring.toNatCast.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) n)) (Nat.cast.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (Nat.cast.{u2} R (Semiring.toNatCast.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) n)) (Semiring.toNatCast.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (Nat.cast.{u2} R (Semiring.toNatCast.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) n)) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (Nat.cast.{u2} R (Semiring.toNatCast.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) n)) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1))) n)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.C_eq_coe_nat MvPolynomial.C_eq_coe_natₓ'. -/
theorem C_eq_coe_nat (n : ℕ) : (C ↑n : MvPolynomial σ R) = n := by
induction n <;> simp [Nat.succ_eq_add_one, *]
@@ -385,7 +385,7 @@ theorem C_eq_coe_nat (n : ℕ) : (C ↑n : MvPolynomial σ R) = n := by
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} {a : R} [_inst_1 : CommSemiring.{u1} R] {p : MvPolynomial.{u2, u1} σ R _inst_1}, Eq.{succ (max u2 u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a) p) (SMul.smul.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (SMulZeroClass.toHasSmul.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (MulZeroClass.toHasZero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toMulZeroClass.{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)))))) (MvPolynomial.smulZeroClass.{u1, u1, u2} R R σ _inst_1 (SMulWithZero.toSmulZeroClass.{u1, u1} R R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (MulZeroClass.toSMulWithZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))) a p)
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} [_inst_1 : CommSemiring.{u2} R] {p : MvPolynomial.{u1, u2} σ R _inst_1}, Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u1, u2} σ R _inst_1) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} 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 (_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) a) p) (HSMul.hSMul.{u2, max u2 u1, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (Algebra.toSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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)))) a p)
+ forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} [_inst_1 : CommSemiring.{u2} R] {p : MvPolynomial.{u1, u2} σ R _inst_1}, Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u1, u2} σ R _inst_1) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} 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 (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : 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) a) p) (HSMul.hSMul.{u2, max u2 u1, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (Algebra.toSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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)))) a p)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.C_mul' MvPolynomial.C_mul'ₓ'. -/
theorem C_mul' : MvPolynomial.C a * p = a • p :=
(Algebra.smul_def a p).symm
@@ -395,7 +395,7 @@ theorem C_mul' : MvPolynomial.C a * p = a • p :=
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (p : MvPolynomial.{u2, u1} σ R _inst_1) (a : R), Eq.{succ (max u2 u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (SMul.smul.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (SMulZeroClass.toHasSmul.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (MulZeroClass.toHasZero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toMulZeroClass.{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)))))) (MvPolynomial.smulZeroClass.{u1, u1, u2} R R σ _inst_1 (SMulWithZero.toSmulZeroClass.{u1, u1} R R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (MulZeroClass.toSMulWithZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))) a p) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a) p)
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (p : MvPolynomial.{u1, u2} σ R _inst_1) (a : R), Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u1, u2} σ R _inst_1) (HSMul.hSMul.{u2, max u2 u1, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (Algebra.toSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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)))) a p) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} 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 (_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) a) p)
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (p : MvPolynomial.{u1, u2} σ R _inst_1) (a : R), Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u1, u2} σ R _inst_1) (HSMul.hSMul.{u2, max u2 u1, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (Algebra.toSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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)))) a p) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} 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 (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : 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) a) p)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.smul_eq_C_mul MvPolynomial.smul_eq_C_mulₓ'. -/
theorem smul_eq_C_mul (p : MvPolynomial σ R) (a : R) : a • p = C a * p :=
C_mul'.symm
@@ -405,7 +405,7 @@ theorem smul_eq_C_mul (p : MvPolynomial σ R) (a : R) : a • p = C a * p :=
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} {a : R} [_inst_1 : CommSemiring.{u1} R], Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a) (SMul.smul.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (SMulZeroClass.toHasSmul.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (MulZeroClass.toHasZero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toMulZeroClass.{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)))))) (MvPolynomial.smulZeroClass.{u1, u1, u2} R R σ _inst_1 (SMulWithZero.toSmulZeroClass.{u1, u1} R R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (MulZeroClass.toSMulWithZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))) a (OfNat.ofNat.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) 1 (OfNat.mk.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) 1 (One.one.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (AddMonoidWithOne.toOne.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (AddCommMonoidWithOne.toAddMonoidWithOne.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toAddCommMonoidWithOne.{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))))))))))
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (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) a) (HSMul.hSMul.{u2, max u2 u1, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (Algebra.toSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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)))) a (OfNat.ofNat.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) 1 (One.toOfNat1.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toOne.{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))))))
+ forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (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.2397 : 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) a) (HSMul.hSMul.{u2, max u2 u1, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (Algebra.toSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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)))) a (OfNat.ofNat.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) 1 (One.toOfNat1.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toOne.{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))))))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.C_eq_smul_one MvPolynomial.C_eq_smul_oneₓ'. -/
theorem C_eq_smul_one : (C a : MvPolynomial σ R) = a • 1 := by rw [← C_mul', mul_one]
#align mv_polynomial.C_eq_smul_one MvPolynomial.C_eq_smul_one
@@ -479,7 +479,7 @@ variable {σ R}
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} {s : Finsupp.{u2, 0} σ Nat Nat.hasZero} [_inst_1 : CommSemiring.{u1} R], Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ (max u2 u1)) (succ u2), max (succ u2) (succ (max u2 u1))} (MonoidHom.{u2, max u2 u1} (Multiplicative.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (MvPolynomial.{u2, u1} σ R _inst_1) (Multiplicative.mulOneClass.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.addZeroClass.{u2, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (MulZeroOneClass.toMulOneClass.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toMulZeroOneClass.{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)))))) (fun (_x : MonoidHom.{u2, max u2 u1} (Multiplicative.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (MvPolynomial.{u2, u1} σ R _inst_1) (Multiplicative.mulOneClass.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.addZeroClass.{u2, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (MulZeroOneClass.toMulOneClass.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toMulZeroOneClass.{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)))))) => (Multiplicative.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) -> (MvPolynomial.{u2, u1} σ R _inst_1)) (MonoidHom.hasCoeToFun.{u2, max u2 u1} (Multiplicative.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (MvPolynomial.{u2, u1} σ R _inst_1) (Multiplicative.mulOneClass.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.addZeroClass.{u2, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (MulZeroOneClass.toMulOneClass.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toMulZeroOneClass.{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)))))) (MvPolynomial.monomialOneHom.{u1, u2} R σ _inst_1) s) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) => MvPolynomial.{u1, u2} σ R _inst_1) s) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (MonoidHom.{u1, max u2 u1} (Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.{u1, u2} σ R _inst_1) (Multiplicative.mulOneClass.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (MulZeroOneClass.toMulOneClass.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (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)))))) (Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (fun (_x : Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} (Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.{u1, u2} σ R _inst_1) (Multiplicative.mulOneClass.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (MulZeroOneClass.toMulOneClass.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (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)))))) (Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.{u1, u2} σ R _inst_1) (MulOneClass.toMul.{u1} (Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Multiplicative.mulOneClass.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)))) (MulOneClass.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MulZeroOneClass.toMulOneClass.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (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)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} (Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.{u1, u2} σ R _inst_1) (Multiplicative.mulOneClass.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (MulZeroOneClass.toMulOneClass.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (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)))))) (Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.{u1, u2} σ R _inst_1) (Multiplicative.mulOneClass.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (MulZeroOneClass.toMulOneClass.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (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))))) (MonoidHom.monoidHomClass.{u1, max u2 u1} (Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.{u1, u2} σ R _inst_1) (Multiplicative.mulOneClass.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (MulZeroOneClass.toMulOneClass.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (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)))))))) (MvPolynomial.monomialOneHom.{u2, u1} R σ _inst_1) s) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))
+ forall {R : Type.{u2}} {σ : Type.{u1}} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) => MvPolynomial.{u1, u2} σ R _inst_1) s) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (MonoidHom.{u1, max u2 u1} (Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.{u1, u2} σ R _inst_1) (Multiplicative.mulOneClass.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (MulZeroOneClass.toMulOneClass.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (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)))))) (Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (fun (_x : Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} (Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.{u1, u2} σ R _inst_1) (Multiplicative.mulOneClass.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (MulZeroOneClass.toMulOneClass.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (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)))))) (Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.{u1, u2} σ R _inst_1) (MulOneClass.toMul.{u1} (Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Multiplicative.mulOneClass.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)))) (MulOneClass.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MulZeroOneClass.toMulOneClass.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (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)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} (Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.{u1, u2} σ R _inst_1) (Multiplicative.mulOneClass.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (MulZeroOneClass.toMulOneClass.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (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)))))) (Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.{u1, u2} σ R _inst_1) (Multiplicative.mulOneClass.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (MulZeroOneClass.toMulOneClass.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (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))))) (MonoidHom.monoidHomClass.{u1, max u2 u1} (Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.{u1, u2} σ R _inst_1) (Multiplicative.mulOneClass.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (MulZeroOneClass.toMulOneClass.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (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)))))))) (MvPolynomial.monomialOneHom.{u2, u1} R σ _inst_1) s) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.monomial_one_hom_apply MvPolynomial.monomialOneHom_applyₓ'. -/
@[simp]
theorem monomialOneHom_apply : monomialOneHom R σ s = (monomial s 1 : MvPolynomial σ R) :=
@@ -519,7 +519,7 @@ theorem monomial_single_add : monomial (single n e + s) a = X n ^ e * monomial s
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {s : σ} {a : R} {n : Nat}, Eq.{succ (max u2 u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a) (HPow.hPow.{max u2 u1, 0, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) Nat (MvPolynomial.{u2, u1} σ R _inst_1) (instHPow.{max u2 u1, 0} (MvPolynomial.{u2, u1} σ R _inst_1) Nat (Monoid.Pow.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MonoidWithZero.toMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (MvPolynomial.X.{u1, u2} R σ _inst_1 s) n)) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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.single.{u2, 0} σ Nat Nat.hasZero s n)) a)
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {s : σ} {a : R} {n : Nat}, Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} 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 (_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) a) (HPow.hPow.{max u1 u2, 0, max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (MvPolynomial.{u1, u2} σ R _inst_1) (instHPow.{max u1 u2, 0} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (Monoid.Pow.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (MvPolynomial.X.{u2, u1} R σ _inst_1 s) n)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 (Finsupp.single.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) s n)) a)
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {s : σ} {a : R} {n : Nat}, Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} 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 (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : 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) a) (HPow.hPow.{max u1 u2, 0, max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (MvPolynomial.{u1, u2} σ R _inst_1) (instHPow.{max u1 u2, 0} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (Monoid.Pow.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (MvPolynomial.X.{u2, u1} R σ _inst_1 s) n)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 (Finsupp.single.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) s n)) a)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.C_mul_X_pow_eq_monomial MvPolynomial.C_mul_X_pow_eq_monomialₓ'. -/
theorem C_mul_X_pow_eq_monomial {s : σ} {a : R} {n : ℕ} : C a * X s ^ n = monomial (single s n) a :=
by rw [← zero_add (single s n), monomial_add_single, C_apply]
@@ -529,7 +529,7 @@ theorem C_mul_X_pow_eq_monomial {s : σ} {a : R} {n : ℕ} : C a * X s ^ n = mon
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {s : σ} {a : R}, Eq.{succ (max u2 u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a) (MvPolynomial.X.{u1, u2} R σ _inst_1 s)) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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.single.{u2, 0} σ Nat Nat.hasZero s (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) a)
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {s : σ} {a : R}, Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} 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 (_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) a) (MvPolynomial.X.{u2, u1} R σ _inst_1 s)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 (Finsupp.single.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) s (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) a)
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {s : σ} {a : R}, Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} 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 (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : 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) a) (MvPolynomial.X.{u2, u1} R σ _inst_1 s)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 (Finsupp.single.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) s (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) a)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.C_mul_X_eq_monomial MvPolynomial.C_mul_X_eq_monomialₓ'. -/
theorem C_mul_X_eq_monomial {s : σ} {a : R} : C a * X s = monomial (single s 1) a := by
rw [← C_mul_X_pow_eq_monomial, pow_one]
@@ -550,7 +550,7 @@ theorem monomial_zero {s : σ →₀ ℕ} : monomial s (0 : R) = 0 :=
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R], Eq.{max (succ u2) (succ u1)} ((fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (MvPolynomial.monomial.{u1, u2} R σ _inst_1 (OfNat.ofNat.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (OfNat.mk.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (Zero.zero.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.zero.{u2, 0} σ Nat Nat.hasZero)))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 (OfNat.ofNat.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (OfNat.mk.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (Zero.zero.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.zero.{u2, 0} σ Nat Nat.hasZero)))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1))
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} (forall (a : R), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 (OfNat.ofNat.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) 0 (Zero.toOfNat0.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.zero.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)))))) (FunLike.coe.{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))
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} (forall (a : R), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 (OfNat.ofNat.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) 0 (Zero.toOfNat0.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.zero.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)))))) (FunLike.coe.{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.2397 : 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))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.monomial_zero' MvPolynomial.monomial_zero'ₓ'. -/
@[simp]
theorem monomial_zero' : (monomial (0 : σ →₀ ℕ) : R → MvPolynomial σ R) = C :=
@@ -584,7 +584,7 @@ theorem sum_monomial_eq {A : Type _} [AddCommMonoid A] {u : σ →₀ ℕ} {r :
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} {a : R} [_inst_1 : CommSemiring.{u1} R] {A : Type.{u3}} [_inst_3 : AddCommMonoid.{u3} A] {b : (Finsupp.{u2, 0} σ Nat Nat.hasZero) -> R -> A}, (Eq.{succ u3} A (b (OfNat.ofNat.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (OfNat.mk.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (Zero.zero.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.zero.{u2, 0} σ Nat Nat.hasZero)))) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) (OfNat.ofNat.{u3} A 0 (OfNat.mk.{u3} A 0 (Zero.zero.{u3} A (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A _inst_3))))))) -> (Eq.{succ u3} A (Finsupp.sum.{u2, u1, u3} (Finsupp.{u2, 0} σ Nat Nat.hasZero) R A (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) _inst_3 (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a) b) (b (OfNat.ofNat.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (OfNat.mk.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (Zero.zero.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.zero.{u2, 0} σ Nat Nat.hasZero)))) a))
but is expected to have type
- forall {R : Type.{u3}} {σ : Type.{u1}} {a : R} [_inst_1 : CommSemiring.{u3} R] {A : Type.{u2}} [_inst_3 : AddCommMonoid.{u2} A] {b : (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) -> R -> A}, (Eq.{succ u2} A (b (OfNat.ofNat.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) 0 (Zero.toOfNat0.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.zero.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)))) (OfNat.ofNat.{u3} R 0 (Zero.toOfNat0.{u3} R (CommMonoidWithZero.toZero.{u3} R (CommSemiring.toCommMonoidWithZero.{u3} R _inst_1))))) (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (AddMonoid.toZero.{u2} A (AddCommMonoid.toAddMonoid.{u2} A _inst_3))))) -> (Eq.{succ u2} A (Finsupp.sum.{u1, u3, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R A (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) _inst_3 (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u3} σ R _inst_1) _x) (MulHomClass.toFunLike.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (RingHom.instRingHomClassRingHom.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (MvPolynomial.C.{u3, u1} R σ _inst_1) a) b) (b (OfNat.ofNat.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) 0 (Zero.toOfNat0.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.zero.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)))) a))
+ forall {R : Type.{u3}} {σ : Type.{u1}} {a : R} [_inst_1 : CommSemiring.{u3} R] {A : Type.{u2}} [_inst_3 : AddCommMonoid.{u2} A] {b : (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) -> R -> A}, (Eq.{succ u2} A (b (OfNat.ofNat.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) 0 (Zero.toOfNat0.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.zero.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)))) (OfNat.ofNat.{u3} R 0 (Zero.toOfNat0.{u3} R (CommMonoidWithZero.toZero.{u3} R (CommSemiring.toCommMonoidWithZero.{u3} R _inst_1))))) (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (AddMonoid.toZero.{u2} A (AddCommMonoid.toAddMonoid.{u2} A _inst_3))))) -> (Eq.{succ u2} A (Finsupp.sum.{u1, u3, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R A (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) _inst_3 (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u3} σ R _inst_1) _x) (MulHomClass.toFunLike.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (RingHom.instRingHomClassRingHom.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (MvPolynomial.C.{u3, u1} R σ _inst_1) a) b) (b (OfNat.ofNat.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) 0 (Zero.toOfNat0.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.zero.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)))) a))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.sum_C MvPolynomial.sum_Cₓ'. -/
@[simp]
theorem sum_C {A : Type _} [AddCommMonoid A] {b : (σ →₀ ℕ) → R → A} (w : b 0 0 = 0) :
@@ -607,7 +607,7 @@ theorem monomial_sum_one {α : Type _} (s : Finset α) (f : α → σ →₀ ℕ
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {α : Type.{u3}} (s : Finset.{u3} α) (f : α -> (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (a : R), Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 (Finset.sum.{u2, u3} (Finsupp.{u2, 0} σ Nat Nat.hasZero) α (Finsupp.addCommMonoid.{u2, 0} σ Nat Nat.addCommMonoid) s (fun (i : α) => f i))) a) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a) (Finset.prod.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) α (CommSemiring.toCommMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) s (fun (i : α) => coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 (f i)) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))))
but is expected to have type
- forall {R : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] {α : Type.{u2}} (s : Finset.{u2} α) (f : α -> (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (a : R), Eq.{max (succ u3) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearMap.{u3, u3, u3, max u3 u1} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) 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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u3} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 (Finset.sum.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) α (Finsupp.addCommMonoid.{u1, 0} σ Nat Nat.addCommMonoid) s (fun (i : α) => f i))) a) (HMul.hMul.{max u3 u1, max u1 u3, max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u3} σ R _inst_1) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (instHMul.{max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (CommSemiring.toSemiring.{max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u3} σ R _inst_1) _x) (MulHomClass.toFunLike.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (RingHom.instRingHomClassRingHom.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (MvPolynomial.C.{u3, u1} R σ _inst_1) a) (Finset.prod.{max u1 u3, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u3} σ R _inst_1) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) α (CommSemiring.toCommMonoid.{max u1 u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u3} σ R _inst_1) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) s (fun (i : α) => FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearMap.{u3, u3, u3, max u3 u1} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) 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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u3} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 (f i)) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))))))
+ forall {R : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] {α : Type.{u2}} (s : Finset.{u2} α) (f : α -> (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (a : R), Eq.{max (succ u3) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearMap.{u3, u3, u3, max u3 u1} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) 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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u3} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 (Finset.sum.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) α (Finsupp.addCommMonoid.{u1, 0} σ Nat Nat.addCommMonoid) s (fun (i : α) => f i))) a) (HMul.hMul.{max u3 u1, max u1 u3, max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u3} σ R _inst_1) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (instHMul.{max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (CommSemiring.toSemiring.{max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u3} σ R _inst_1) _x) (MulHomClass.toFunLike.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (RingHom.instRingHomClassRingHom.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (MvPolynomial.C.{u3, u1} R σ _inst_1) a) (Finset.prod.{max u1 u3, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u3} σ R _inst_1) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) α (CommSemiring.toCommMonoid.{max u1 u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u3} σ R _inst_1) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) s (fun (i : α) => FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearMap.{u3, u3, u3, max u3 u1} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) 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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u3} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 (f i)) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))))))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.monomial_sum_index MvPolynomial.monomial_sum_indexₓ'. -/
theorem monomial_sum_index {α : Type _} (s : Finset α) (f : α → σ →₀ ℕ) (a : R) :
monomial (∑ i in s, f i) a = C a * ∏ i in s, monomial (f i) 1 := by
@@ -618,7 +618,7 @@ theorem monomial_sum_index {α : Type _} (s : Finset α) (f : α → σ →₀
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {α : Type.{u3}} {β : Type.{u4}} [_inst_3 : Zero.{u4} β] (f : Finsupp.{u3, u4} α β _inst_3) (g : α -> β -> (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (a : R), Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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.sum.{u3, u4, u2} α β (Finsupp.{u2, 0} σ Nat Nat.hasZero) _inst_3 (Finsupp.addCommMonoid.{u2, 0} σ Nat Nat.addCommMonoid) f g)) a) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a) (Finsupp.prod.{u3, u4, max u2 u1} α β (MvPolynomial.{u2, u1} σ R _inst_1) _inst_3 (CommSemiring.toCommMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) f (fun (a : α) (b : β) => coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 (g a b)) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))))
but is expected to have type
- forall {R : Type.{u4}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u4} R] {α : Type.{u3}} {β : Type.{u2}} [_inst_3 : Zero.{u2} β] (f : Finsupp.{u3, u2} α β _inst_3) (g : α -> β -> (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (a : R), Eq.{max (succ u4) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u4} σ R _inst_1) a) (FunLike.coe.{max (succ u1) (succ u4), succ u4, max (succ u1) (succ u4)} (LinearMap.{u4, u4, u4, max u4 u1} R R (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) R (MvPolynomial.{u1, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (MvPolynomial.module.{u4, u4, u1} R R σ (CommSemiring.toSemiring.{u4} R _inst_1) _inst_1 (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u4} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u4, max u1 u4} R R R (MvPolynomial.{u1, u4} σ R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (MvPolynomial.module.{u4, u4, u1} R R σ (CommSemiring.toSemiring.{u4} R _inst_1) _inst_1 (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (MvPolynomial.monomial.{u4, u1} R σ _inst_1 (Finsupp.sum.{u3, u2, u1} α β (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) _inst_3 (Finsupp.addCommMonoid.{u1, 0} σ Nat Nat.addCommMonoid) f g)) a) (HMul.hMul.{max u4 u1, max u1 u4, max u4 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u4} σ R _inst_1) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u4} σ R _inst_1) (OfNat.ofNat.{u4} R 1 (One.toOfNat1.{u4} R (Semiring.toOne.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u4} σ R _inst_1) a) (instHMul.{max u4 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u4} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u4 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u4} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u4} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u4 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u4} σ R _inst_1) a) (CommSemiring.toSemiring.{max u4 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u4} σ R _inst_1) a) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1)))))) (FunLike.coe.{max (succ u1) (succ u4), succ u4, max (succ u1) (succ u4)} (RingHom.{u4, max u4 u1} R (MvPolynomial.{u1, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u4} σ R _inst_1) _x) (MulHomClass.toFunLike.{max u1 u4, u4, max u1 u4} (RingHom.{u4, max u4 u1} R (MvPolynomial.{u1, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u1, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (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))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u4, u4, max u1 u4} (RingHom.{u4, max u4 u1} R (MvPolynomial.{u1, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u1, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (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)))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u4, u4, max u1 u4} (RingHom.{u4, max u4 u1} R (MvPolynomial.{u1, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u1, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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))) (RingHom.instRingHomClassRingHom.{u4, max u1 u4} R (MvPolynomial.{u1, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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))))))) (MvPolynomial.C.{u4, u1} R σ _inst_1) a) (Finsupp.prod.{u3, u2, max u1 u4} α β ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u4} σ R _inst_1) (OfNat.ofNat.{u4} R 1 (One.toOfNat1.{u4} R (Semiring.toOne.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) _inst_3 (CommSemiring.toCommMonoid.{max u1 u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u4} σ R _inst_1) (OfNat.ofNat.{u4} R 1 (One.toOfNat1.{u4} R (Semiring.toOne.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1)) f (fun (a : α) (b : β) => FunLike.coe.{max (succ u1) (succ u4), succ u4, max (succ u1) (succ u4)} (LinearMap.{u4, u4, u4, max u4 u1} R R (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) R (MvPolynomial.{u1, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (MvPolynomial.module.{u4, u4, u1} R R σ (CommSemiring.toSemiring.{u4} R _inst_1) _inst_1 (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u4} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u4, max u1 u4} R R R (MvPolynomial.{u1, u4} σ R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (MvPolynomial.module.{u4, u4, u1} R R σ (CommSemiring.toSemiring.{u4} R _inst_1) _inst_1 (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (MvPolynomial.monomial.{u4, u1} R σ _inst_1 (g a b)) (OfNat.ofNat.{u4} R 1 (One.toOfNat1.{u4} R (Semiring.toOne.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))))))
+ forall {R : Type.{u4}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u4} R] {α : Type.{u3}} {β : Type.{u2}} [_inst_3 : Zero.{u2} β] (f : Finsupp.{u3, u2} α β _inst_3) (g : α -> β -> (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (a : R), Eq.{max (succ u4) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u4} σ R _inst_1) a) (FunLike.coe.{max (succ u1) (succ u4), succ u4, max (succ u1) (succ u4)} (LinearMap.{u4, u4, u4, max u4 u1} R R (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) R (MvPolynomial.{u1, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (MvPolynomial.module.{u4, u4, u1} R R σ (CommSemiring.toSemiring.{u4} R _inst_1) _inst_1 (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u4} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u4, max u1 u4} R R R (MvPolynomial.{u1, u4} σ R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (MvPolynomial.module.{u4, u4, u1} R R σ (CommSemiring.toSemiring.{u4} R _inst_1) _inst_1 (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (MvPolynomial.monomial.{u4, u1} R σ _inst_1 (Finsupp.sum.{u3, u2, u1} α β (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) _inst_3 (Finsupp.addCommMonoid.{u1, 0} σ Nat Nat.addCommMonoid) f g)) a) (HMul.hMul.{max u4 u1, max u1 u4, max u4 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u4} σ R _inst_1) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u4} σ R _inst_1) (OfNat.ofNat.{u4} R 1 (One.toOfNat1.{u4} R (Semiring.toOne.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u4} σ R _inst_1) a) (instHMul.{max u4 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u4} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u4 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u4} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u4} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u4 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u4} σ R _inst_1) a) (CommSemiring.toSemiring.{max u4 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u4} σ R _inst_1) a) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1)))))) (FunLike.coe.{max (succ u1) (succ u4), succ u4, max (succ u1) (succ u4)} (RingHom.{u4, max u4 u1} R (MvPolynomial.{u1, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u4} σ R _inst_1) _x) (MulHomClass.toFunLike.{max u1 u4, u4, max u1 u4} (RingHom.{u4, max u4 u1} R (MvPolynomial.{u1, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u1, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (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))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u4, u4, max u1 u4} (RingHom.{u4, max u4 u1} R (MvPolynomial.{u1, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u1, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (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)))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u4, u4, max u1 u4} (RingHom.{u4, max u4 u1} R (MvPolynomial.{u1, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u1, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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))) (RingHom.instRingHomClassRingHom.{u4, max u1 u4} R (MvPolynomial.{u1, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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))))))) (MvPolynomial.C.{u4, u1} R σ _inst_1) a) (Finsupp.prod.{u3, u2, max u1 u4} α β ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u4} σ R _inst_1) (OfNat.ofNat.{u4} R 1 (One.toOfNat1.{u4} R (Semiring.toOne.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) _inst_3 (CommSemiring.toCommMonoid.{max u1 u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u4} σ R _inst_1) (OfNat.ofNat.{u4} R 1 (One.toOfNat1.{u4} R (Semiring.toOne.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1)) f (fun (a : α) (b : β) => FunLike.coe.{max (succ u1) (succ u4), succ u4, max (succ u1) (succ u4)} (LinearMap.{u4, u4, u4, max u4 u1} R R (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) R (MvPolynomial.{u1, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (MvPolynomial.module.{u4, u4, u1} R R σ (CommSemiring.toSemiring.{u4} R _inst_1) _inst_1 (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u4} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u4, max u1 u4} R R R (MvPolynomial.{u1, u4} σ R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (MvPolynomial.module.{u4, u4, u1} R R σ (CommSemiring.toSemiring.{u4} R _inst_1) _inst_1 (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (MvPolynomial.monomial.{u4, u1} R σ _inst_1 (g a b)) (OfNat.ofNat.{u4} R 1 (One.toOfNat1.{u4} R (Semiring.toOne.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))))))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.monomial_finsupp_sum_index MvPolynomial.monomial_finsupp_sum_indexₓ'. -/
theorem monomial_finsupp_sum_index {α β : Type _} [Zero β] (f : α →₀ β) (g : α → β → σ →₀ ℕ)
(a : R) : monomial (f.Sum g) a = C a * f.Prod fun a b => monomial (g a b) 1 :=
@@ -640,7 +640,7 @@ theorem monomial_eq_monomial_iff {α : Type _} (a₁ a₂ : α →₀ ℕ) (b₁
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} {a : R} {s : Finsupp.{u2, 0} σ Nat Nat.hasZero} [_inst_1 : CommSemiring.{u1} R], Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) a) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a) (Finsupp.prod.{u2, 0, max u2 u1} σ Nat (MvPolynomial.{u2, u1} σ R _inst_1) Nat.hasZero (CommSemiring.toCommMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) s (fun (n : σ) (e : Nat) => HPow.hPow.{max u2 u1, 0, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) Nat (MvPolynomial.{u2, u1} σ R _inst_1) (instHPow.{max u2 u1, 0} (MvPolynomial.{u2, u1} σ R _inst_1) Nat (Monoid.Pow.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MonoidWithZero.toMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (MvPolynomial.X.{u1, u2} R σ _inst_1 n) e)))
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} 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 (_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) a) (Finsupp.prod.{u1, 0, max u2 u1} σ Nat (MvPolynomial.{u1, u2} σ R _inst_1) (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (CommSemiring.toCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) s (fun (n : σ) (e : Nat) => HPow.hPow.{max u1 u2, 0, max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (MvPolynomial.{u1, u2} σ R _inst_1) (instHPow.{max u1 u2, 0} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (Monoid.Pow.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (MvPolynomial.X.{u2, u1} R σ _inst_1 n) e)))
+ forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} 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 (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : 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) a) (Finsupp.prod.{u1, 0, max u2 u1} σ Nat (MvPolynomial.{u1, u2} σ R _inst_1) (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (CommSemiring.toCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) s (fun (n : σ) (e : Nat) => HPow.hPow.{max u1 u2, 0, max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (MvPolynomial.{u1, u2} σ R _inst_1) (instHPow.{max u1 u2, 0} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (Monoid.Pow.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (MvPolynomial.X.{u2, u1} R σ _inst_1 n) e)))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.monomial_eq MvPolynomial.monomial_eqₓ'. -/
theorem monomial_eq : monomial s a = C a * (s.Prod fun n e => X n ^ e : MvPolynomial σ R) := by
simp only [X_pow_eq_monomial, ← monomial_finsupp_sum_index, Finsupp.sum_single]
@@ -650,7 +650,7 @@ theorem monomial_eq : monomial s a = C a * (s.Prod fun n e => X n ^ e : MvPolyno
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {M : (MvPolynomial.{u2, u1} σ R _inst_1) -> Prop}, (forall (a : R), M (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a)) -> (forall (p : MvPolynomial.{u2, u1} σ R _inst_1) (n : σ), (M p) -> (M (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) p (MvPolynomial.X.{u1, u2} R σ _inst_1 n)))) -> (forall (s : Finsupp.{u2, 0} σ Nat Nat.hasZero) (a : R), M (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) a))
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {M : (MvPolynomial.{u1, u2} σ R _inst_1) -> Prop}, (forall (a : R), M (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) a)) -> (forall (p : MvPolynomial.{u1, u2} σ R _inst_1) (n : σ), (M p) -> (M (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) p (MvPolynomial.X.{u2, u1} R σ _inst_1 n)))) -> (forall (s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (a : R), M (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a))
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {M : (MvPolynomial.{u1, u2} σ R _inst_1) -> Prop}, (forall (a : R), M (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.2397 : 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) a)) -> (forall (p : MvPolynomial.{u1, u2} σ R _inst_1) (n : σ), (M p) -> (M (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) p (MvPolynomial.X.{u2, u1} R σ _inst_1 n)))) -> (forall (s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (a : R), M (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.induction_on_monomial MvPolynomial.induction_on_monomialₓ'. -/
theorem induction_on_monomial {M : MvPolynomial σ R → Prop} (h_C : ∀ a, M (C a))
(h_X : ∀ p n, M p → M (p * X n)) : ∀ s a, M (monomial s a) :=
@@ -693,7 +693,7 @@ theorem induction_on' {P : MvPolynomial σ R → Prop} (p : MvPolynomial σ R)
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {M : (MvPolynomial.{u2, u1} σ R _inst_1) -> Prop} (p : MvPolynomial.{u2, u1} σ R _inst_1), (forall (a : R), M (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a)) -> (forall (a : Finsupp.{u2, 0} σ Nat Nat.hasZero) (b : R) (f : Finsupp.{u2, u1} (Finsupp.{u2, 0} σ Nat Nat.hasZero) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))), (Not (Membership.Mem.{u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasMem.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) a (Finsupp.support.{u2, u1} (Finsupp.{u2, 0} σ Nat Nat.hasZero) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) f))) -> (Ne.{succ u1} R b (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) -> (M f) -> (M (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHAdd.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasAdd.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 a) b) f))) -> (M p)
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {M : (MvPolynomial.{u1, u2} σ R _inst_1) -> Prop} (p : MvPolynomial.{u1, u2} σ R _inst_1), (forall (a : R), M (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) a)) -> (forall (a : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (b : R) (f : Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))), (Not (Membership.mem.{u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instMembershipFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) a (Finsupp.support.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)) f))) -> (Ne.{succ u2} R b (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) -> (M f) -> (M (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (instHAdd.{max u2 u1} (Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (Finsupp.add.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))))) ([mdata let_fun:1 (fun (this : Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) => this) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 a) b)]) f))) -> (M p)
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {M : (MvPolynomial.{u1, u2} σ R _inst_1) -> Prop} (p : MvPolynomial.{u1, u2} σ R _inst_1), (forall (a : R), M (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.2397 : 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) a)) -> (forall (a : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (b : R) (f : Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))), (Not (Membership.mem.{u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instMembershipFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) a (Finsupp.support.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)) f))) -> (Ne.{succ u2} R b (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) -> (M f) -> (M (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (instHAdd.{max u2 u1} (Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (Finsupp.add.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))))) ([mdata let_fun:1 (fun (this : Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) => this) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 a) b)]) f))) -> (M p)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.induction_on''' MvPolynomial.induction_on'''ₓ'. -/
/-- Similar to `mv_polynomial.induction_on` but only a weak form of `h_add` is required.-/
theorem induction_on''' {M : MvPolynomial σ R → Prop} (p : MvPolynomial σ R) (h_C : ∀ a, M (C a))
@@ -708,7 +708,7 @@ theorem induction_on''' {M : MvPolynomial σ R → Prop} (p : MvPolynomial σ R)
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {M : (MvPolynomial.{u2, u1} σ R _inst_1) -> Prop} (p : MvPolynomial.{u2, u1} σ R _inst_1), (forall (a : R), M (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a)) -> (forall (a : Finsupp.{u2, 0} σ Nat Nat.hasZero) (b : R) (f : Finsupp.{u2, u1} (Finsupp.{u2, 0} σ Nat Nat.hasZero) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))), (Not (Membership.Mem.{u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasMem.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) a (Finsupp.support.{u2, u1} (Finsupp.{u2, 0} σ Nat Nat.hasZero) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) f))) -> (Ne.{succ u1} R b (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) -> (M f) -> (M (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 a) b)) -> (M (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHAdd.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasAdd.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 a) b) f))) -> (forall (p : MvPolynomial.{u2, u1} σ R _inst_1) (n : σ), (M p) -> (M (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) p (MvPolynomial.X.{u1, u2} R σ _inst_1 n)))) -> (M p)
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {M : (MvPolynomial.{u1, u2} σ R _inst_1) -> Prop} (p : MvPolynomial.{u1, u2} σ R _inst_1), (forall (a : R), M (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) a)) -> (forall (a : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (b : R) (f : Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))), (Not (Membership.mem.{u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instMembershipFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) a (Finsupp.support.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)) f))) -> (Ne.{succ u2} R b (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) -> (M f) -> (M (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 a) b)) -> (M (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (instHAdd.{max u2 u1} (Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (Finsupp.add.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))))) ([mdata let_fun:1 (fun (this : Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) => this) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 a) b)]) f))) -> (forall (p : MvPolynomial.{u1, u2} σ R _inst_1) (n : σ), (M p) -> (M (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) p (MvPolynomial.X.{u2, u1} R σ _inst_1 n)))) -> (M p)
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {M : (MvPolynomial.{u1, u2} σ R _inst_1) -> Prop} (p : MvPolynomial.{u1, u2} σ R _inst_1), (forall (a : R), M (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.2397 : 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) a)) -> (forall (a : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (b : R) (f : Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))), (Not (Membership.mem.{u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instMembershipFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) a (Finsupp.support.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)) f))) -> (Ne.{succ u2} R b (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) -> (M f) -> (M (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 a) b)) -> (M (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (instHAdd.{max u2 u1} (Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (Finsupp.add.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))))) ([mdata let_fun:1 (fun (this : Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) => this) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 a) b)]) f))) -> (forall (p : MvPolynomial.{u1, u2} σ R _inst_1) (n : σ), (M p) -> (M (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) p (MvPolynomial.X.{u2, u1} R σ _inst_1 n)))) -> (M p)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.induction_on'' MvPolynomial.induction_on''ₓ'. -/
/-- Similar to `mv_polynomial.induction_on` but only a yet weaker form of `h_add` is required.-/
theorem induction_on'' {M : MvPolynomial σ R → Prop} (p : MvPolynomial σ R) (h_C : ∀ a, M (C a))
@@ -724,7 +724,7 @@ theorem induction_on'' {M : MvPolynomial σ R → Prop} (p : MvPolynomial σ R)
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {M : (MvPolynomial.{u2, u1} σ R _inst_1) -> Prop} (p : MvPolynomial.{u2, u1} σ R _inst_1), (forall (a : R), M (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a)) -> (forall (p : MvPolynomial.{u2, u1} σ R _inst_1) (q : MvPolynomial.{u2, u1} σ R _inst_1), (M p) -> (M q) -> (M (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHAdd.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasAdd.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) p q))) -> (forall (p : MvPolynomial.{u2, u1} σ R _inst_1) (n : σ), (M p) -> (M (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) p (MvPolynomial.X.{u1, u2} R σ _inst_1 n)))) -> (M p)
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {M : (MvPolynomial.{u1, u2} σ R _inst_1) -> Prop} (p : MvPolynomial.{u1, u2} σ R _inst_1), (forall (a : R), M (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) a)) -> (forall (p : MvPolynomial.{u1, u2} σ R _inst_1) (q : MvPolynomial.{u1, u2} σ R _inst_1), (M p) -> (M q) -> (M (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHAdd.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (Distrib.toAdd.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))))) p q))) -> (forall (p : MvPolynomial.{u1, u2} σ R _inst_1) (n : σ), (M p) -> (M (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) p (MvPolynomial.X.{u2, u1} R σ _inst_1 n)))) -> (M p)
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {M : (MvPolynomial.{u1, u2} σ R _inst_1) -> Prop} (p : MvPolynomial.{u1, u2} σ R _inst_1), (forall (a : R), M (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.2397 : 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) a)) -> (forall (p : MvPolynomial.{u1, u2} σ R _inst_1) (q : MvPolynomial.{u1, u2} σ R _inst_1), (M p) -> (M q) -> (M (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHAdd.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (Distrib.toAdd.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))))) p q))) -> (forall (p : MvPolynomial.{u1, u2} σ R _inst_1) (n : σ), (M p) -> (M (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) p (MvPolynomial.X.{u2, u1} R σ _inst_1 n)))) -> (M p)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.induction_on MvPolynomial.induction_onₓ'. -/
/-- Analog of `polynomial.induction_on`.-/
@[recursor 5]
@@ -737,7 +737,7 @@ theorem induction_on {M : MvPolynomial σ R → Prop} (p : MvPolynomial σ R) (h
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {A : Type.{u3}} [_inst_3 : Semiring.{u3} A] {f : RingHom.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3)} {g : RingHom.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3)}, (forall (r : R), Eq.{succ u3} A (coeFn.{max (succ (max u2 u1)) (succ u3), max (succ (max u2 u1)) (succ u3)} (RingHom.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3)) (fun (_x : RingHom.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3)) => (MvPolynomial.{u2, u1} σ R _inst_1) -> A) (RingHom.hasCoeToFun.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3)) f (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) r)) (coeFn.{max (succ (max u2 u1)) (succ u3), max (succ (max u2 u1)) (succ u3)} (RingHom.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3)) (fun (_x : RingHom.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3)) => (MvPolynomial.{u2, u1} σ R _inst_1) -> A) (RingHom.hasCoeToFun.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3)) g (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) r))) -> (forall (i : σ), Eq.{succ u3} A (coeFn.{max (succ (max u2 u1)) (succ u3), max (succ (max u2 u1)) (succ u3)} (RingHom.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3)) (fun (_x : RingHom.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3)) => (MvPolynomial.{u2, u1} σ R _inst_1) -> A) (RingHom.hasCoeToFun.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3)) f (MvPolynomial.X.{u1, u2} R σ _inst_1 i)) (coeFn.{max (succ (max u2 u1)) (succ u3), max (succ (max u2 u1)) (succ u3)} (RingHom.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3)) (fun (_x : RingHom.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3)) => (MvPolynomial.{u2, u1} σ R _inst_1) -> A) (RingHom.hasCoeToFun.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3)) g (MvPolynomial.X.{u1, u2} R σ _inst_1 i))) -> (Eq.{max (succ (max u2 u1)) (succ u3)} (RingHom.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3)) f g)
but is expected to have type
- forall {R : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] {A : Type.{u2}} [_inst_3 : Semiring.{u2} A] {f : RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)} {g : RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)}, (forall (r : R), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ R _inst_1) => A) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (MulHomClass.toFunLike.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (RingHom.instRingHomClassRingHom.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (MvPolynomial.C.{u3, u1} R σ _inst_1) r)) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u1), succ u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ R _inst_1) => A) _x) (MulHomClass.toFunLike.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) A (NonUnitalNonAssocSemiring.toMul.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3))) (NonUnitalRingHomClass.toMulHomClass.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (RingHomClass.toNonUnitalRingHomClass.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3) (RingHom.instRingHomClassRingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3))))) f (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u3} σ R _inst_1) _x) (MulHomClass.toFunLike.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (RingHom.instRingHomClassRingHom.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (MvPolynomial.C.{u3, u1} R σ _inst_1) r)) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u1), succ u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ R _inst_1) => A) _x) (MulHomClass.toFunLike.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) A (NonUnitalNonAssocSemiring.toMul.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3))) (NonUnitalRingHomClass.toMulHomClass.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (RingHomClass.toNonUnitalRingHomClass.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3) (RingHom.instRingHomClassRingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3))))) g (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u3} σ R _inst_1) _x) (MulHomClass.toFunLike.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (RingHom.instRingHomClassRingHom.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (MvPolynomial.C.{u3, u1} R σ _inst_1) r))) -> (forall (i : σ), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ R _inst_1) => A) (MvPolynomial.X.{u3, u1} R σ _inst_1 i)) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u1), succ u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ R _inst_1) => A) _x) (MulHomClass.toFunLike.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) A (NonUnitalNonAssocSemiring.toMul.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3))) (NonUnitalRingHomClass.toMulHomClass.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (RingHomClass.toNonUnitalRingHomClass.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3) (RingHom.instRingHomClassRingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3))))) f (MvPolynomial.X.{u3, u1} R σ _inst_1 i)) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u1), succ u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ R _inst_1) => A) _x) (MulHomClass.toFunLike.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) A (NonUnitalNonAssocSemiring.toMul.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3))) (NonUnitalRingHomClass.toMulHomClass.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (RingHomClass.toNonUnitalRingHomClass.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3) (RingHom.instRingHomClassRingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3))))) g (MvPolynomial.X.{u3, u1} R σ _inst_1 i))) -> (Eq.{max (max (succ u3) (succ u1)) (succ u2)} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) f g)
+ forall {R : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] {A : Type.{u2}} [_inst_3 : Semiring.{u2} A] {f : RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)} {g : RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)}, (forall (r : R), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ R _inst_1) => A) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (MulHomClass.toFunLike.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (RingHom.instRingHomClassRingHom.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (MvPolynomial.C.{u3, u1} R σ _inst_1) r)) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u1), succ u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ R _inst_1) => A) _x) (MulHomClass.toFunLike.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) A (NonUnitalNonAssocSemiring.toMul.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3))) (NonUnitalRingHomClass.toMulHomClass.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (RingHomClass.toNonUnitalRingHomClass.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3) (RingHom.instRingHomClassRingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3))))) f (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u3} σ R _inst_1) _x) (MulHomClass.toFunLike.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (RingHom.instRingHomClassRingHom.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (MvPolynomial.C.{u3, u1} R σ _inst_1) r)) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u1), succ u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ R _inst_1) => A) _x) (MulHomClass.toFunLike.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) A (NonUnitalNonAssocSemiring.toMul.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3))) (NonUnitalRingHomClass.toMulHomClass.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (RingHomClass.toNonUnitalRingHomClass.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3) (RingHom.instRingHomClassRingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3))))) g (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u3} σ R _inst_1) _x) (MulHomClass.toFunLike.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (RingHom.instRingHomClassRingHom.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (MvPolynomial.C.{u3, u1} R σ _inst_1) r))) -> (forall (i : σ), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ R _inst_1) => A) (MvPolynomial.X.{u3, u1} R σ _inst_1 i)) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u1), succ u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ R _inst_1) => A) _x) (MulHomClass.toFunLike.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) A (NonUnitalNonAssocSemiring.toMul.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3))) (NonUnitalRingHomClass.toMulHomClass.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (RingHomClass.toNonUnitalRingHomClass.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3) (RingHom.instRingHomClassRingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3))))) f (MvPolynomial.X.{u3, u1} R σ _inst_1 i)) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u1), succ u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ R _inst_1) => A) _x) (MulHomClass.toFunLike.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) A (NonUnitalNonAssocSemiring.toMul.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3))) (NonUnitalRingHomClass.toMulHomClass.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (RingHomClass.toNonUnitalRingHomClass.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3) (RingHom.instRingHomClassRingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3))))) g (MvPolynomial.X.{u3, u1} R σ _inst_1 i))) -> (Eq.{max (max (succ u3) (succ u1)) (succ u2)} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) f g)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.ring_hom_ext MvPolynomial.ringHom_extₓ'. -/
theorem ringHom_ext {A : Type _} [Semiring A] {f g : MvPolynomial σ R →+* A}
(hC : ∀ r, f (C r) = g (C r)) (hX : ∀ i, f (X i) = g (X i)) : f = g :=
@@ -750,7 +750,7 @@ theorem ringHom_ext {A : Type _} [Semiring A] {f g : MvPolynomial σ R →+* A}
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {A : Type.{u3}} [_inst_3 : Semiring.{u3} A] {f : RingHom.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3)} {g : RingHom.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3)}, (Eq.{max (succ u1) (succ u3)} (RingHom.{u1, u3} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} A _inst_3)) (RingHom.comp.{u1, max u2 u1, u3} R (MvPolynomial.{u2, u1} σ R _inst_1) A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3) f (MvPolynomial.C.{u1, u2} R σ _inst_1)) (RingHom.comp.{u1, max u2 u1, u3} R (MvPolynomial.{u2, u1} σ R _inst_1) A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3) g (MvPolynomial.C.{u1, u2} R σ _inst_1))) -> (forall (i : σ), Eq.{succ u3} A (coeFn.{max (succ (max u2 u1)) (succ u3), max (succ (max u2 u1)) (succ u3)} (RingHom.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3)) (fun (_x : RingHom.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3)) => (MvPolynomial.{u2, u1} σ R _inst_1) -> A) (RingHom.hasCoeToFun.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3)) f (MvPolynomial.X.{u1, u2} R σ _inst_1 i)) (coeFn.{max (succ (max u2 u1)) (succ u3), max (succ (max u2 u1)) (succ u3)} (RingHom.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3)) (fun (_x : RingHom.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3)) => (MvPolynomial.{u2, u1} σ R _inst_1) -> A) (RingHom.hasCoeToFun.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3)) g (MvPolynomial.X.{u1, u2} R σ _inst_1 i))) -> (Eq.{max (succ (max u2 u1)) (succ u3)} (RingHom.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3)) f g)
but is expected to have type
- forall {R : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] {A : Type.{u2}} [_inst_3 : Semiring.{u2} A] {f : RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)} {g : RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)}, (Eq.{max (succ u3) (succ u2)} (RingHom.{u3, u2} R A (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (RingHom.comp.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3) f (MvPolynomial.C.{u3, u1} R σ _inst_1)) (RingHom.comp.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3) g (MvPolynomial.C.{u3, u1} R σ _inst_1))) -> (forall (i : σ), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ R _inst_1) => A) (MvPolynomial.X.{u3, u1} R σ _inst_1 i)) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u1), succ u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ R _inst_1) => A) _x) (MulHomClass.toFunLike.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) A (NonUnitalNonAssocSemiring.toMul.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3))) (NonUnitalRingHomClass.toMulHomClass.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (RingHomClass.toNonUnitalRingHomClass.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3) (RingHom.instRingHomClassRingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3))))) f (MvPolynomial.X.{u3, u1} R σ _inst_1 i)) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u1), succ u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ R _inst_1) => A) _x) (MulHomClass.toFunLike.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) A (NonUnitalNonAssocSemiring.toMul.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3))) (NonUnitalRingHomClass.toMulHomClass.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (RingHomClass.toNonUnitalRingHomClass.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3) (RingHom.instRingHomClassRingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3))))) g (MvPolynomial.X.{u3, u1} R σ _inst_1 i))) -> (Eq.{max (max (succ u3) (succ u1)) (succ u2)} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) f g)
+ forall {R : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] {A : Type.{u2}} [_inst_3 : Semiring.{u2} A] {f : RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)} {g : RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)}, (Eq.{max (succ u3) (succ u2)} (RingHom.{u3, u2} R A (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (RingHom.comp.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3) f (MvPolynomial.C.{u3, u1} R σ _inst_1)) (RingHom.comp.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3) g (MvPolynomial.C.{u3, u1} R σ _inst_1))) -> (forall (i : σ), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ R _inst_1) => A) (MvPolynomial.X.{u3, u1} R σ _inst_1 i)) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u1), succ u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ R _inst_1) => A) _x) (MulHomClass.toFunLike.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) A (NonUnitalNonAssocSemiring.toMul.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3))) (NonUnitalRingHomClass.toMulHomClass.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (RingHomClass.toNonUnitalRingHomClass.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3) (RingHom.instRingHomClassRingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3))))) f (MvPolynomial.X.{u3, u1} R σ _inst_1 i)) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u1), succ u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ R _inst_1) => A) _x) (MulHomClass.toFunLike.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) A (NonUnitalNonAssocSemiring.toMul.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3))) (NonUnitalRingHomClass.toMulHomClass.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (RingHomClass.toNonUnitalRingHomClass.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3) (RingHom.instRingHomClassRingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3))))) g (MvPolynomial.X.{u3, u1} R σ _inst_1 i))) -> (Eq.{max (max (succ u3) (succ u1)) (succ u2)} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) f g)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.ring_hom_ext' MvPolynomial.ringHom_ext'ₓ'. -/
/-- See note [partially-applied ext lemmas]. -/
@[ext]
@@ -763,7 +763,7 @@ theorem ringHom_ext' {A : Type _} [Semiring A] {f g : MvPolynomial σ R →+* A}
lean 3 declaration is
forall {R : Type.{u1}} {S₂ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_3 : Semiring.{u2} S₂] (f : RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ _inst_3)) (g : RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ _inst_3)), (Eq.{max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ _inst_3)) (RingHom.comp.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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))) (Semiring.toNonAssocSemiring.{u2} S₂ _inst_3) f (MvPolynomial.C.{u1, u3} R σ _inst_1)) (RingHom.comp.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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))) (Semiring.toNonAssocSemiring.{u2} S₂ _inst_3) g (MvPolynomial.C.{u1, u3} R σ _inst_1))) -> (forall (n : σ), Eq.{succ u2} S₂ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ _inst_3)) (fun (_x : RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ _inst_3)) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₂) (RingHom.hasCoeToFun.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ _inst_3)) f (MvPolynomial.X.{u1, u3} R σ _inst_1 n)) (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ _inst_3)) (fun (_x : RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ _inst_3)) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₂) (RingHom.hasCoeToFun.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ _inst_3)) g (MvPolynomial.X.{u1, u3} R σ _inst_1 n))) -> (forall (p : MvPolynomial.{u3, u1} σ R _inst_1), Eq.{succ u2} S₂ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ _inst_3)) (fun (_x : RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ _inst_3)) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₂) (RingHom.hasCoeToFun.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ _inst_3)) f p) (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ _inst_3)) (fun (_x : RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ _inst_3)) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₂) (RingHom.hasCoeToFun.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ _inst_3)) g p))
but is expected to have type
- forall {R : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_3 : Semiring.{u3} S₂] (f : RingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3)) (g : RingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3)), (Eq.{max (succ u2) (succ u3)} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ _inst_3)) (RingHom.comp.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u3} S₂ _inst_3) f (MvPolynomial.C.{u2, u1} R σ _inst_1)) (RingHom.comp.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u3} S₂ _inst_3) g (MvPolynomial.C.{u2, u1} R σ _inst_1))) -> (forall (n : σ), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) (MvPolynomial.X.{u2, u1} R σ _inst_1 n)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3)) (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 u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3)) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ _inst_3))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3)) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ _inst_3)) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3)) (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.{u3} S₂ _inst_3) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3))))) f (MvPolynomial.X.{u2, u1} R σ _inst_1 n)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3)) (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 u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3)) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ _inst_3))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3)) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ _inst_3)) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3)) (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.{u3} S₂ _inst_3) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3))))) g (MvPolynomial.X.{u2, u1} R σ _inst_1 n))) -> (forall (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) p) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3)) (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 u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3)) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ _inst_3))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3)) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ _inst_3)) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3)) (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.{u3} S₂ _inst_3) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3))))) f p) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3)) (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 u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3)) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ _inst_3))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3)) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ _inst_3)) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3)) (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.{u3} S₂ _inst_3) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3))))) g p))
+ forall {R : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_3 : Semiring.{u3} S₂] (f : RingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3)) (g : RingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3)), (Eq.{max (succ u2) (succ u3)} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ _inst_3)) (RingHom.comp.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u3} S₂ _inst_3) f (MvPolynomial.C.{u2, u1} R σ _inst_1)) (RingHom.comp.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u3} S₂ _inst_3) g (MvPolynomial.C.{u2, u1} R σ _inst_1))) -> (forall (n : σ), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) (MvPolynomial.X.{u2, u1} R σ _inst_1 n)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3)) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3)) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ _inst_3))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3)) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ _inst_3)) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3)) (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.{u3} S₂ _inst_3) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3))))) f (MvPolynomial.X.{u2, u1} R σ _inst_1 n)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3)) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3)) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ _inst_3))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3)) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ _inst_3)) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3)) (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.{u3} S₂ _inst_3) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3))))) g (MvPolynomial.X.{u2, u1} R σ _inst_1 n))) -> (forall (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) p) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3)) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3)) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ _inst_3))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3)) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ _inst_3)) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3)) (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.{u3} S₂ _inst_3) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3))))) f p) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3)) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3)) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ _inst_3))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3)) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ _inst_3)) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3)) (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.{u3} S₂ _inst_3) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3))))) g p))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.hom_eq_hom MvPolynomial.hom_eq_homₓ'. -/
theorem hom_eq_hom [Semiring S₂] (f g : MvPolynomial σ R →+* S₂) (hC : f.comp C = g.comp C)
(hX : ∀ n : σ, f (X n) = g (X n)) (p : MvPolynomial σ R) : f p = g p :=
@@ -774,7 +774,7 @@ theorem hom_eq_hom [Semiring S₂] (f g : MvPolynomial σ R →+* S₂) (hC : f.
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (f : RingHom.{max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (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))) (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)))), (Eq.{max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (RingHom.comp.{u1, max u2 u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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))) (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))) f (MvPolynomial.C.{u1, u2} R σ _inst_1)) (MvPolynomial.C.{u1, u2} R σ _inst_1)) -> (forall (n : σ), Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{succ (max u2 u1), succ (max u2 u1)} (RingHom.{max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (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))) (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)))) (fun (_x : RingHom.{max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (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))) (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)))) => (MvPolynomial.{u2, u1} σ R _inst_1) -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (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))) (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)))) f (MvPolynomial.X.{u1, u2} R σ _inst_1 n)) (MvPolynomial.X.{u1, u2} R σ _inst_1 n)) -> (forall (p : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{succ (max u2 u1), succ (max u2 u1)} (RingHom.{max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (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))) (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)))) (fun (_x : RingHom.{max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (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))) (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)))) => (MvPolynomial.{u2, u1} σ R _inst_1) -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (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))) (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)))) f p) p)
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (f : RingHom.{max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (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))) (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)))), (Eq.{max (succ u2) (succ u1)} (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)))) (RingHom.comp.{u2, max u2 u1, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (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))) (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))) f (MvPolynomial.C.{u2, u1} R σ _inst_1)) (MvPolynomial.C.{u2, u1} R σ _inst_1)) -> (forall (n : σ), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.X.{u2, u1} R σ _inst_1 n)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (RingHom.{max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (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))) (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.{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) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (MulHomClass.toFunLike.{max u2 u1, max u2 u1, max u2 u1} (RingHom.{max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (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))) (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.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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 u2 u1, max u2 u1, max u2 u1} (RingHom.{max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (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))) (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.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{max u2 u1} (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 u2 u1, max u2 u1, max u2 u1} (RingHom.{max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (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))) (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.{u1, u2} σ R _inst_1) (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))) (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.{max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (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))) (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))))))) f (MvPolynomial.X.{u2, u1} R σ _inst_1 n)) (MvPolynomial.X.{u2, u1} R σ _inst_1 n)) -> (forall (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u2} σ R _inst_1) p) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (RingHom.{max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (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))) (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.{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) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (MulHomClass.toFunLike.{max u2 u1, max u2 u1, max u2 u1} (RingHom.{max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (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))) (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.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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 u2 u1, max u2 u1, max u2 u1} (RingHom.{max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (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))) (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.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{max u2 u1} (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 u2 u1, max u2 u1, max u2 u1} (RingHom.{max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (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))) (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.{u1, u2} σ R _inst_1) (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))) (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.{max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (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))) (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))))))) f p) p)
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (f : RingHom.{max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (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))) (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)))), (Eq.{max (succ u2) (succ u1)} (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)))) (RingHom.comp.{u2, max u2 u1, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (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))) (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))) f (MvPolynomial.C.{u2, u1} R σ _inst_1)) (MvPolynomial.C.{u2, u1} R σ _inst_1)) -> (forall (n : σ), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.X.{u2, u1} R σ _inst_1 n)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (RingHom.{max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (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))) (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.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (MulHomClass.toFunLike.{max u2 u1, max u2 u1, max u2 u1} (RingHom.{max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (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))) (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.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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 u2 u1, max u2 u1, max u2 u1} (RingHom.{max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (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))) (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.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{max u2 u1} (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 u2 u1, max u2 u1, max u2 u1} (RingHom.{max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (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))) (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.{u1, u2} σ R _inst_1) (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))) (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.{max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (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))) (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))))))) f (MvPolynomial.X.{u2, u1} R σ _inst_1 n)) (MvPolynomial.X.{u2, u1} R σ _inst_1 n)) -> (forall (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u2} σ R _inst_1) p) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (RingHom.{max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (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))) (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.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (MulHomClass.toFunLike.{max u2 u1, max u2 u1, max u2 u1} (RingHom.{max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (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))) (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.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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 u2 u1, max u2 u1, max u2 u1} (RingHom.{max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (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))) (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.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{max u2 u1} (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 u2 u1, max u2 u1, max u2 u1} (RingHom.{max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (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))) (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.{u1, u2} σ R _inst_1) (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))) (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.{max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (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))) (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))))))) f p) p)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.is_id MvPolynomial.is_idₓ'. -/
theorem is_id (f : MvPolynomial σ R →+* MvPolynomial σ R) (hC : f.comp C = C)
(hX : ∀ n : σ, f (X n) = X n) (p : MvPolynomial σ R) : f p = p :=
@@ -813,7 +813,7 @@ theorem algHom_ext {A : Type _} [Semiring A] [Algebra R A] {f g : MvPolynomial
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (f : AlgHom.{u1, max u2 u1, max u2 u1} 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 : R), Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{succ (max u2 u1), succ (max u2 u1)} (AlgHom.{u1, max u2 u1, max u2 u1} 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))) (fun (_x : AlgHom.{u1, max u2 u1, max u2 u1} 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) -> (MvPolynomial.{u2, u1} σ R _inst_1)) ([anonymous].{u1, max u2 u1, max u2 u1} 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))) f (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) r)) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) r)
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (f : AlgHom.{u2, max u2 u1, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (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))) (r : R), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, 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 (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (AlgHom.{u2, max u2 u1, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (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) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (SMulHomClass.toFunLike.{max u2 u1, u2, max u2 u1, max u2 u1} (AlgHom.{u2, max u2 u1, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (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))) R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (SMulZeroClass.toSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (AddMonoid.toZero.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) (Module.toDistribMulAction.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Algebra.toModule.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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 u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (AddMonoid.toZero.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) (Module.toDistribMulAction.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Algebra.toModule.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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 u2 u1, u2, max u2 u1, max u2 u1} (AlgHom.{u2, max u2 u1, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (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))) R (MvPolynomial.{u1, 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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) (Module.toDistribMulAction.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Algebra.toModule.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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 u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Algebra.toModule.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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 u2 u1, u2, max u2 u1, max u2 u1} (AlgHom.{u2, max u2 u1, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (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))) R (MvPolynomial.{u1, 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 u2 u1} (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.{max u2 u1} (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)))) (Module.toDistribMulAction.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Algebra.toModule.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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 u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Algebra.toModule.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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 u2 u1, max u2 u1, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (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)) (AlgHom.{u2, max u2 u1, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (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))) (AlgHom.algHomClass.{u2, max u2 u1, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (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))))))) 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 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)
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (f : AlgHom.{u2, max u2 u1, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (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))) (r : R), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, 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.2397 : 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 (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (AlgHom.{u2, max u2 u1, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (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) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (SMulHomClass.toFunLike.{max u2 u1, u2, max u2 u1, max u2 u1} (AlgHom.{u2, max u2 u1, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (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))) R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (SMulZeroClass.toSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (AddMonoid.toZero.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) (Module.toDistribMulAction.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Algebra.toModule.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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 u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (AddMonoid.toZero.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) (Module.toDistribMulAction.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Algebra.toModule.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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 u2 u1, u2, max u2 u1, max u2 u1} (AlgHom.{u2, max u2 u1, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (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))) R (MvPolynomial.{u1, 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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) (Module.toDistribMulAction.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Algebra.toModule.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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 u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Algebra.toModule.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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 u2 u1, u2, max u2 u1, max u2 u1} (AlgHom.{u2, max u2 u1, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (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))) R (MvPolynomial.{u1, 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 u2 u1} (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.{max u2 u1} (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)))) (Module.toDistribMulAction.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Algebra.toModule.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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 u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Algebra.toModule.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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 u2 u1, max u2 u1, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (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)) (AlgHom.{u2, max u2 u1, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (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))) (AlgHom.algHomClass.{u2, max u2 u1, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (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))))))) 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.2397 : 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 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.2397 : 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)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.alg_hom_C MvPolynomial.algHom_Cₓ'. -/
@[simp]
theorem algHom_C (f : MvPolynomial σ R →ₐ[R] MvPolynomial σ R) (r : R) : f (C r) = C r :=
@@ -1120,7 +1120,7 @@ theorem coeff_monomial [DecidableEq σ] (m n) (a) :
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_3 : DecidableEq.{succ u2} σ] (m : Finsupp.{u2, 0} σ Nat Nat.hasZero) (a : R), Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a)) (ite.{succ u1} R (Eq.{succ u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (OfNat.ofNat.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (OfNat.mk.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (Zero.zero.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.zero.{u2, 0} σ Nat Nat.hasZero)))) m) (Finsupp.decidableEq.{u2, 0} σ Nat Nat.hasZero (fun (a : σ) (b : σ) => _inst_3 a b) (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) (OfNat.ofNat.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (OfNat.mk.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (Zero.zero.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.zero.{u2, 0} σ Nat Nat.hasZero)))) m) a (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_3 : DecidableEq.{succ u1} σ] (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (a : R), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m (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) a)) (ite.{succ u2} R (Eq.{succ u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (OfNat.ofNat.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) 0 (Zero.toOfNat0.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.zero.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)))) m) (Finsupp.decidableEq.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (fun (a : σ) (b : σ) => _inst_3 a b) (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) (OfNat.ofNat.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) 0 (Zero.toOfNat0.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.zero.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)))) m) a (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)))))
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_3 : DecidableEq.{succ u1} σ] (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (a : R), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m (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.2397 : 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) a)) (ite.{succ u2} R (Eq.{succ u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (OfNat.ofNat.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) 0 (Zero.toOfNat0.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.zero.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)))) m) (Finsupp.decidableEq.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (fun (a : σ) (b : σ) => _inst_3 a b) (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) (OfNat.ofNat.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) 0 (Zero.toOfNat0.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.zero.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)))) m) a (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_C MvPolynomial.coeff_Cₓ'. -/
@[simp]
theorem coeff_C [DecidableEq σ] (m) (a) :
@@ -1142,7 +1142,7 @@ theorem coeff_one [DecidableEq σ] (m) : coeff m (1 : MvPolynomial σ R) = if 0
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (a : R), Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 (OfNat.ofNat.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (OfNat.mk.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (Zero.zero.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.zero.{u2, 0} σ Nat Nat.hasZero)))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a)) a
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (a : R), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 (OfNat.ofNat.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) 0 (Zero.toOfNat0.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.zero.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)))) (FunLike.coe.{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) a)) a
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (a : R), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 (OfNat.ofNat.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) 0 (Zero.toOfNat0.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.zero.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)))) (FunLike.coe.{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.2397 : 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) a)) a
Case conversion may be inaccurate. Consider using '#align mv_polynomial.coeff_zero_C MvPolynomial.coeff_zero_Cₓ'. -/
@[simp]
theorem coeff_zero_C (a) : coeff 0 (C a : MvPolynomial σ R) = a :=
@@ -1201,7 +1201,7 @@ theorem coeff_X (i : σ) : coeff (single i 1) (X i : MvPolynomial σ R) = 1 := b
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (m : Finsupp.{u2, 0} σ Nat Nat.hasZero) (a : R) (p : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a) p)) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) a (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m p))
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (a : R) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m (HMul.hMul.{max u2 u1, max u2 u1, max u1 u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} 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 (_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) a) p)) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) a (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m p))
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (a : R) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m (HMul.hMul.{max u2 u1, max u2 u1, max u1 u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} 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 (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : 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) a) p)) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) a (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m p))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.coeff_C_mul MvPolynomial.coeff_C_mulₓ'. -/
@[simp]
theorem coeff_C_mul (m) (a : R) (p : MvPolynomial σ R) : coeff m (C a * p) = a * coeff m p := by
@@ -1456,7 +1456,7 @@ theorem exists_coeff_ne_zero {p : MvPolynomial σ R} (h : p ≠ 0) : ∃ d, coef
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (r : R) (φ : MvPolynomial.{u2, u1} σ R _inst_1), Iff (Dvd.Dvd.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (semigroupDvd.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (SemigroupWithZero.toSemigroup.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalSemiring.toSemigroupWithZero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalCommSemiring.toNonUnitalSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toNonUnitalCommSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) r) φ) (forall (i : Finsupp.{u2, 0} σ Nat Nat.hasZero), Dvd.Dvd.{u1} R (semigroupDvd.{u1} R (SemigroupWithZero.toSemigroup.{u1} R (NonUnitalSemiring.toSemigroupWithZero.{u1} R (NonUnitalCommSemiring.toNonUnitalSemiring.{u1} R (CommSemiring.toNonUnitalCommSemiring.{u1} R _inst_1))))) r (MvPolynomial.coeff.{u1, u2} R σ _inst_1 i φ))
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (r : R) (φ : MvPolynomial.{u1, u2} σ R _inst_1), Iff (Dvd.dvd.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (semigroupDvd.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (SemigroupWithZero.toSemigroup.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (NonUnitalSemiring.toSemigroupWithZero.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (NonUnitalCommSemiring.toNonUnitalSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (CommSemiring.toNonUnitalCommSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (MvPolynomial.commSemiring.{u2, u1} 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 (_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) φ) (forall (i : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)), Dvd.dvd.{u2} R (semigroupDvd.{u2} R (SemigroupWithZero.toSemigroup.{u2} R (NonUnitalSemiring.toSemigroupWithZero.{u2} R (NonUnitalCommSemiring.toNonUnitalSemiring.{u2} R (CommSemiring.toNonUnitalCommSemiring.{u2} R _inst_1))))) r (MvPolynomial.coeff.{u2, u1} R σ _inst_1 i φ))
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (r : R) (φ : MvPolynomial.{u1, u2} σ R _inst_1), Iff (Dvd.dvd.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (semigroupDvd.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (SemigroupWithZero.toSemigroup.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (NonUnitalSemiring.toSemigroupWithZero.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (NonUnitalCommSemiring.toNonUnitalSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (CommSemiring.toNonUnitalCommSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (MvPolynomial.commSemiring.{u2, u1} 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 (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : 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) φ) (forall (i : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)), Dvd.dvd.{u2} R (semigroupDvd.{u2} R (SemigroupWithZero.toSemigroup.{u2} R (NonUnitalSemiring.toSemigroupWithZero.{u2} R (NonUnitalCommSemiring.toNonUnitalSemiring.{u2} R (CommSemiring.toNonUnitalCommSemiring.{u2} R _inst_1))))) r (MvPolynomial.coeff.{u2, u1} R σ _inst_1 i φ))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.C_dvd_iff_dvd_coeff MvPolynomial.C_dvd_iff_dvd_coeffₓ'. -/
theorem C_dvd_iff_dvd_coeff (r : R) (φ : MvPolynomial σ R) : C r ∣ φ ↔ ∀ i, r ∣ φ.coeff i :=
by
@@ -1501,7 +1501,7 @@ def constantCoeff : MvPolynomial σ R →+* R
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R], Eq.{max (succ u2) (succ u1)} ((fun (_x : RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u2, u1} σ R _inst_1) -> R) (MvPolynomial.constantCoeff.{u1, u2} R σ _inst_1)) (coeFn.{max (succ (max u2 u1)) (succ u1), max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u2, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.constantCoeff.{u1, u2} R σ _inst_1)) (MvPolynomial.coeff.{u1, u2} R σ _inst_1 (OfNat.ofNat.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (OfNat.mk.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (Zero.zero.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.zero.{u2, 0} σ Nat Nat.hasZero)))))
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} (forall (a : MvPolynomial.{u1, u2} σ R _inst_1), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) a) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (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) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1)) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 (OfNat.ofNat.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) 0 (Zero.toOfNat0.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.zero.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)))))
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} (forall (a : MvPolynomial.{u1, u2} σ R _inst_1), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) a) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1)) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 (OfNat.ofNat.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) 0 (Zero.toOfNat0.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.zero.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)))))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.constant_coeff_eq MvPolynomial.constantCoeff_eqₓ'. -/
theorem constantCoeff_eq : (constantCoeff : MvPolynomial σ R → R) = coeff 0 :=
rfl
@@ -1513,7 +1513,7 @@ variable (σ)
lean 3 declaration is
forall {R : Type.{u1}} (σ : Type.{u2}) [_inst_1 : CommSemiring.{u1} R] (r : R), Eq.{succ u1} R (coeFn.{max (succ (max u2 u1)) (succ u1), max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u2, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.constantCoeff.{u1, u2} R σ _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) r)) r
but is expected to have type
- forall {R : Type.{u2}} (σ : Type.{u1}) [_inst_1 : CommSemiring.{u2} R] (r : R), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) (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 (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (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) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} 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 (_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)) r
+ forall {R : Type.{u2}} (σ : Type.{u1}) [_inst_1 : CommSemiring.{u2} R] (r : R), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) (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.2397 : 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 (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} 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 (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : 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)) r
Case conversion may be inaccurate. Consider using '#align mv_polynomial.constant_coeff_C MvPolynomial.constantCoeff_Cₓ'. -/
@[simp]
theorem constantCoeff_C (r : R) : constantCoeff (C r : MvPolynomial σ R) = r := by
@@ -1528,7 +1528,7 @@ variable (R)
lean 3 declaration is
forall (R : Type.{u1}) {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (i : σ), Eq.{succ u1} R (coeFn.{max (succ (max u2 u1)) (succ u1), max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u2, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.constantCoeff.{u1, u2} R σ _inst_1) (MvPolynomial.X.{u1, u2} R σ _inst_1 i)) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))
but is expected to have type
- forall (R : Type.{u2}) {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (i : σ), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) (MvPolynomial.X.{u2, u1} R σ _inst_1 i)) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (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) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) (MvPolynomial.X.{u2, u1} R σ _inst_1 i)) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) (MvPolynomial.X.{u2, u1} R σ _inst_1 i)) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) (MvPolynomial.X.{u2, u1} R σ _inst_1 i)) (CommMonoidWithZero.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) (MvPolynomial.X.{u2, u1} R σ _inst_1 i)) (CommSemiring.toCommMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) (MvPolynomial.X.{u2, u1} R σ _inst_1 i)) _inst_1))))
+ forall (R : Type.{u2}) {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (i : σ), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) (MvPolynomial.X.{u2, u1} R σ _inst_1 i)) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) (MvPolynomial.X.{u2, u1} R σ _inst_1 i)) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) (MvPolynomial.X.{u2, u1} R σ _inst_1 i)) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) (MvPolynomial.X.{u2, u1} R σ _inst_1 i)) (CommMonoidWithZero.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) (MvPolynomial.X.{u2, u1} R σ _inst_1 i)) (CommSemiring.toCommMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) (MvPolynomial.X.{u2, u1} R σ _inst_1 i)) _inst_1))))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.constant_coeff_X MvPolynomial.constantCoeff_Xₓ'. -/
@[simp]
theorem constantCoeff_X (i : σ) : constantCoeff (X i : MvPolynomial σ R) = 0 := by
@@ -1541,7 +1541,7 @@ variable {R}
lean 3 declaration is
forall {S₁ : Type.{u1}} {σ : Type.{u2}} [_inst_2 : CommSemiring.{u1} S₁] {R : Type.{u3}} [_inst_3 : SMulZeroClass.{u3, u1} R S₁ (MulZeroClass.toHasZero.{u1} S₁ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S₁ (Semiring.toNonAssocSemiring.{u1} S₁ (CommSemiring.toSemiring.{u1} S₁ _inst_2)))))] (a : R) (f : MvPolynomial.{u2, u1} σ S₁ _inst_2), Eq.{succ u1} S₁ (coeFn.{max (succ (max u2 u1)) (succ u1), max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u1, u2} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{u1} S₁ (CommSemiring.toSemiring.{u1} S₁ _inst_2))) (fun (_x : RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u1, u2} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{u1} S₁ (CommSemiring.toSemiring.{u1} S₁ _inst_2))) => (MvPolynomial.{u2, u1} σ S₁ _inst_2) -> S₁) (RingHom.hasCoeToFun.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u1, u2} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{u1} S₁ (CommSemiring.toSemiring.{u1} S₁ _inst_2))) (MvPolynomial.constantCoeff.{u1, u2} S₁ σ _inst_2) (SMul.smul.{u3, max u2 u1} R (MvPolynomial.{u2, u1} σ S₁ _inst_2) (SMulZeroClass.toHasSmul.{u3, max u2 u1} R (MvPolynomial.{u2, u1} σ S₁ _inst_2) (MulZeroClass.toHasZero.{max u2 u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMulZeroClass.{max u2 u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u1, u2} S₁ σ _inst_2)))))) (MvPolynomial.smulZeroClass.{u3, u1, u2} R S₁ σ _inst_2 _inst_3)) a f)) (SMul.smul.{u3, u1} R S₁ (SMulZeroClass.toHasSmul.{u3, u1} R S₁ (MulZeroClass.toHasZero.{u1} S₁ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S₁ (Semiring.toNonAssocSemiring.{u1} S₁ (CommSemiring.toSemiring.{u1} S₁ _inst_2))))) _inst_3) a (coeFn.{max (succ (max u2 u1)) (succ u1), max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u1, u2} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{u1} S₁ (CommSemiring.toSemiring.{u1} S₁ _inst_2))) (fun (_x : RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u1, u2} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{u1} S₁ (CommSemiring.toSemiring.{u1} S₁ _inst_2))) => (MvPolynomial.{u2, u1} σ S₁ _inst_2) -> S₁) (RingHom.hasCoeToFun.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u1, u2} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{u1} S₁ (CommSemiring.toSemiring.{u1} S₁ _inst_2))) (MvPolynomial.constantCoeff.{u1, u2} S₁ σ _inst_2) f))
but is expected to have type
- forall {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_2 : CommSemiring.{u3} S₁] {R : Type.{u2}} [_inst_3 : SMulZeroClass.{u2, u3} R S₁ (CommMonoidWithZero.toZero.{u3} S₁ (CommSemiring.toCommMonoidWithZero.{u3} S₁ _inst_2))] (a : R) (f : MvPolynomial.{u1, u3} σ S₁ _inst_2), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) (HSMul.hSMul.{u2, max u3 u1, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (instHSMul.{u2, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (SMulZeroClass.toSMul.{u2, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (CommMonoidWithZero.toZero.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (CommSemiring.toCommMonoidWithZero.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u3, u1} S₁ σ _inst_2))) (MvPolynomial.smulZeroClass.{u2, u3, u1} R S₁ σ _inst_2 _inst_3))) a f)) (FunLike.coe.{max (succ u1) (succ u3), max (succ u1) (succ u3), succ u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (fun (_x : MvPolynomial.{u1, u3} σ S₁ _inst_2) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) _x) (MulHomClass.toFunLike.{max u1 u3, max u1 u3, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (NonUnitalNonAssocSemiring.toMul.{max u1 u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (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))))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u3, max u1 u3, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (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)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u3, max u1 u3, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{max u1 u3, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (MvPolynomial.constantCoeff.{u3, u1} S₁ σ _inst_2) (HSMul.hSMul.{u2, max u3 u1, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (instHSMul.{u2, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (SMulZeroClass.toSMul.{u2, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (CommMonoidWithZero.toZero.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (CommSemiring.toCommMonoidWithZero.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u3, u1} S₁ σ _inst_2))) (MvPolynomial.smulZeroClass.{u2, u3, u1} R S₁ σ _inst_2 _inst_3))) a f)) (HSMul.hSMul.{u2, u3, u3} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) f) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) f) (instHSMul.{u2, u3} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) f) (SMulZeroClass.toSMul.{u2, u3} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) f) (CommMonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) f) (CommSemiring.toCommMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) f) _inst_2)) _inst_3)) a (FunLike.coe.{max (succ u1) (succ u3), max (succ u1) (succ u3), succ u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (fun (_x : MvPolynomial.{u1, u3} σ S₁ _inst_2) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) _x) (MulHomClass.toFunLike.{max u1 u3, max u1 u3, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (NonUnitalNonAssocSemiring.toMul.{max u1 u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (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))))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u3, max u1 u3, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (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)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u3, max u1 u3, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{max u1 u3, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (MvPolynomial.constantCoeff.{u3, u1} S₁ σ _inst_2) f))
+ forall {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_2 : CommSemiring.{u3} S₁] {R : Type.{u2}} [_inst_3 : SMulZeroClass.{u2, u3} R S₁ (CommMonoidWithZero.toZero.{u3} S₁ (CommSemiring.toCommMonoidWithZero.{u3} S₁ _inst_2))] (a : R) (f : MvPolynomial.{u1, u3} σ S₁ _inst_2), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) (HSMul.hSMul.{u2, max u3 u1, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (instHSMul.{u2, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (SMulZeroClass.toSMul.{u2, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (CommMonoidWithZero.toZero.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (CommSemiring.toCommMonoidWithZero.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u3, u1} S₁ σ _inst_2))) (MvPolynomial.smulZeroClass.{u2, u3, u1} R S₁ σ _inst_2 _inst_3))) a f)) (FunLike.coe.{max (succ u1) (succ u3), max (succ u1) (succ u3), succ u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (fun (_x : MvPolynomial.{u1, u3} σ S₁ _inst_2) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) _x) (MulHomClass.toFunLike.{max u1 u3, max u1 u3, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (NonUnitalNonAssocSemiring.toMul.{max u1 u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (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))))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u3, max u1 u3, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (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)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u3, max u1 u3, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{max u1 u3, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (MvPolynomial.constantCoeff.{u3, u1} S₁ σ _inst_2) (HSMul.hSMul.{u2, max u3 u1, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (instHSMul.{u2, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (SMulZeroClass.toSMul.{u2, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (CommMonoidWithZero.toZero.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (CommSemiring.toCommMonoidWithZero.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u3, u1} S₁ σ _inst_2))) (MvPolynomial.smulZeroClass.{u2, u3, u1} R S₁ σ _inst_2 _inst_3))) a f)) (HSMul.hSMul.{u2, u3, u3} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) f) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) f) (instHSMul.{u2, u3} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) f) (SMulZeroClass.toSMul.{u2, u3} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) f) (CommMonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) f) (CommSemiring.toCommMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) f) _inst_2)) _inst_3)) a (FunLike.coe.{max (succ u1) (succ u3), max (succ u1) (succ u3), succ u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (fun (_x : MvPolynomial.{u1, u3} σ S₁ _inst_2) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) _x) (MulHomClass.toFunLike.{max u1 u3, max u1 u3, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (NonUnitalNonAssocSemiring.toMul.{max u1 u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (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))))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u3, max u1 u3, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (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)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u3, max u1 u3, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{max u1 u3, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (MvPolynomial.constantCoeff.{u3, u1} S₁ σ _inst_2) f))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.constant_coeff_smul MvPolynomial.constantCoeff_smulₓ'. -/
@[simp]
theorem constantCoeff_smul {R : Type _} [SMulZeroClass R S₁] (a : R) (f : MvPolynomial σ S₁) :
@@ -1553,7 +1553,7 @@ theorem constantCoeff_smul {R : Type _} [SMulZeroClass R S₁] (a : R) (f : MvPo
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_3 : DecidableEq.{succ u2} σ] (d : Finsupp.{u2, 0} σ Nat Nat.hasZero) (r : R), Eq.{succ u1} R (coeFn.{max (succ (max u2 u1)) (succ u1), max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u2, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.constantCoeff.{u1, u2} R σ _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 d) r)) (ite.{succ u1} R (Eq.{succ u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) d (OfNat.ofNat.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (OfNat.mk.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (Zero.zero.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.zero.{u2, 0} σ Nat Nat.hasZero))))) (Finsupp.decidableEq.{u2, 0} σ Nat Nat.hasZero (fun (a : σ) (b : σ) => _inst_3 a b) (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) d (OfNat.ofNat.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (OfNat.mk.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (Zero.zero.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.zero.{u2, 0} σ Nat Nat.hasZero))))) r (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_3 : DecidableEq.{succ u1} σ] (d : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (r : R), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 d) r)) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (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) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 d) r)) (ite.{succ u2} R (Eq.{succ u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) d (OfNat.ofNat.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) 0 (Zero.toOfNat0.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.zero.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))))) (Finsupp.decidableEq.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (fun (a : σ) (b : σ) => _inst_3 a b) (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) d (OfNat.ofNat.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) 0 (Zero.toOfNat0.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.zero.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))))) r (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)))))
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_3 : DecidableEq.{succ u1} σ] (d : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (r : R), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 d) r)) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 d) r)) (ite.{succ u2} R (Eq.{succ u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) d (OfNat.ofNat.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) 0 (Zero.toOfNat0.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.zero.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))))) (Finsupp.decidableEq.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (fun (a : σ) (b : σ) => _inst_3 a b) (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) d (OfNat.ofNat.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) 0 (Zero.toOfNat0.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.zero.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))))) r (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.constant_coeff_monomial MvPolynomial.constantCoeff_monomialₓ'. -/
theorem constantCoeff_monomial [DecidableEq σ] (d : σ →₀ ℕ) (r : R) :
constantCoeff (monomial d r) = if d = 0 then r else 0 := by
@@ -1631,7 +1631,7 @@ def eval₂ (p : MvPolynomial σ R) : S₁ :=
lean 3 declaration is
forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (g : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (x : σ -> S₁) (f : MvPolynomial.{u3, u1} σ R _inst_1), Eq.{succ u2} S₁ (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 g x f) (Finset.sum.{u2, u3} S₁ (Finsupp.{u3, 0} σ Nat Nat.hasZero) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))) (MvPolynomial.support.{u1, u3} R σ _inst_1 f) (fun (d : Finsupp.{u3, 0} σ Nat Nat.hasZero) => HMul.hMul.{u2, u2, u2} S₁ S₁ S₁ (instHMul.{u2} S₁ (Distrib.toHasMul.{u2} S₁ (NonUnitalNonAssocSemiring.toDistrib.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) g (MvPolynomial.coeff.{u1, u3} R σ _inst_1 d f)) (Finset.prod.{u2, u3} S₁ σ (CommSemiring.toCommMonoid.{u2} S₁ _inst_2) (Finsupp.support.{u3, 0} σ Nat Nat.hasZero d) (fun (i : σ) => HPow.hPow.{u2, 0, u2} S₁ Nat S₁ (instHPow.{u2, 0} S₁ Nat (Monoid.Pow.{u2} S₁ (MonoidWithZero.toMonoid.{u2} S₁ (Semiring.toMonoidWithZero.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))))) (x i) (coeFn.{succ u3, succ u3} (Finsupp.{u3, 0} σ Nat Nat.hasZero) (fun (_x : Finsupp.{u3, 0} σ Nat Nat.hasZero) => σ -> Nat) (Finsupp.coeFun.{u3, 0} σ Nat Nat.hasZero) d i)))))
but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (g : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (x : σ -> S₁) (f : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} S₁ (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 g x f) (Finset.sum.{u3, u1} S₁ (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (MvPolynomial.support.{u2, u1} R σ _inst_1 f) (fun (d : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => HMul.hMul.{u3, u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f)) S₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f)) (instHMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f)) (NonUnitalNonAssocSemiring.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f)) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f)) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f)) _inst_2))))) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) g (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f)) (Finset.prod.{u3, u1} S₁ σ (CommSemiring.toCommMonoid.{u3} S₁ _inst_2) (Finsupp.support.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) d) (fun (i : σ) => HPow.hPow.{u3, 0, u3} S₁ ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : σ) => Nat) i) S₁ (instHPow.{u3, 0} S₁ ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : σ) => Nat) i) (Monoid.Pow.{u3} S₁ (MonoidWithZero.toMonoid.{u3} S₁ (Semiring.toMonoidWithZero.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))))) (x i) (FunLike.coe.{succ u1, succ u1, 1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) σ (fun (_x : σ) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : σ) => Nat) _x) (Finsupp.funLike.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) d i)))))
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (g : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (x : σ -> S₁) (f : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} S₁ (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 g x f) (Finset.sum.{u3, u1} S₁ (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (MvPolynomial.support.{u2, u1} R σ _inst_1 f) (fun (d : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => HMul.hMul.{u3, u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f)) S₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f)) (instHMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f)) (NonUnitalNonAssocSemiring.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f)) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f)) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f)) _inst_2))))) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) g (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f)) (Finset.prod.{u3, u1} S₁ σ (CommSemiring.toCommMonoid.{u3} S₁ _inst_2) (Finsupp.support.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) d) (fun (i : σ) => HPow.hPow.{u3, 0, u3} S₁ ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : σ) => Nat) i) S₁ (instHPow.{u3, 0} S₁ ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : σ) => Nat) i) (Monoid.Pow.{u3} S₁ (MonoidWithZero.toMonoid.{u3} S₁ (Semiring.toMonoidWithZero.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))))) (x i) (FunLike.coe.{succ u1, succ u1, 1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) σ (fun (_x : σ) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : σ) => Nat) _x) (Finsupp.funLike.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) d i)))))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_eq MvPolynomial.eval₂_eqₓ'. -/
theorem eval₂_eq (g : R →+* S₁) (x : σ → S₁) (f : MvPolynomial σ R) :
f.eval₂ g x = ∑ d in f.support, g (f.coeff d) * ∏ i in d.support, x i ^ d i :=
@@ -1642,7 +1642,7 @@ theorem eval₂_eq (g : R →+* S₁) (x : σ → S₁) (f : MvPolynomial σ R)
lean 3 declaration is
forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : Fintype.{u3} σ] (g : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (x : σ -> S₁) (f : MvPolynomial.{u3, u1} σ R _inst_1), Eq.{succ u2} S₁ (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 g x f) (Finset.sum.{u2, u3} S₁ (Finsupp.{u3, 0} σ Nat Nat.hasZero) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))) (MvPolynomial.support.{u1, u3} R σ _inst_1 f) (fun (d : Finsupp.{u3, 0} σ Nat Nat.hasZero) => HMul.hMul.{u2, u2, u2} S₁ S₁ S₁ (instHMul.{u2} S₁ (Distrib.toHasMul.{u2} S₁ (NonUnitalNonAssocSemiring.toDistrib.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) g (MvPolynomial.coeff.{u1, u3} R σ _inst_1 d f)) (Finset.prod.{u2, u3} S₁ σ (CommSemiring.toCommMonoid.{u2} S₁ _inst_2) (Finset.univ.{u3} σ _inst_3) (fun (i : σ) => HPow.hPow.{u2, 0, u2} S₁ Nat S₁ (instHPow.{u2, 0} S₁ Nat (Monoid.Pow.{u2} S₁ (MonoidWithZero.toMonoid.{u2} S₁ (Semiring.toMonoidWithZero.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))))) (x i) (coeFn.{succ u3, succ u3} (Finsupp.{u3, 0} σ Nat Nat.hasZero) (fun (_x : Finsupp.{u3, 0} σ Nat Nat.hasZero) => σ -> Nat) (Finsupp.coeFun.{u3, 0} σ Nat Nat.hasZero) d i)))))
but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : Fintype.{u1} σ] (g : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (x : σ -> S₁) (f : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} S₁ (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 g x f) (Finset.sum.{u3, u1} S₁ (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (MvPolynomial.support.{u2, u1} R σ _inst_1 f) (fun (d : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => HMul.hMul.{u3, u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f)) S₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f)) (instHMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f)) (NonUnitalNonAssocSemiring.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f)) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f)) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f)) _inst_2))))) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) g (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f)) (Finset.prod.{u3, u1} S₁ σ (CommSemiring.toCommMonoid.{u3} S₁ _inst_2) (Finset.univ.{u1} σ _inst_3) (fun (i : σ) => HPow.hPow.{u3, 0, u3} S₁ ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : σ) => Nat) i) S₁ (instHPow.{u3, 0} S₁ ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : σ) => Nat) i) (Monoid.Pow.{u3} S₁ (MonoidWithZero.toMonoid.{u3} S₁ (Semiring.toMonoidWithZero.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))))) (x i) (FunLike.coe.{succ u1, succ u1, 1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) σ (fun (_x : σ) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : σ) => Nat) _x) (Finsupp.funLike.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) d i)))))
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : Fintype.{u1} σ] (g : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (x : σ -> S₁) (f : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} S₁ (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 g x f) (Finset.sum.{u3, u1} S₁ (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (MvPolynomial.support.{u2, u1} R σ _inst_1 f) (fun (d : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => HMul.hMul.{u3, u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f)) S₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f)) (instHMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f)) (NonUnitalNonAssocSemiring.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f)) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f)) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f)) _inst_2))))) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) g (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f)) (Finset.prod.{u3, u1} S₁ σ (CommSemiring.toCommMonoid.{u3} S₁ _inst_2) (Finset.univ.{u1} σ _inst_3) (fun (i : σ) => HPow.hPow.{u3, 0, u3} S₁ ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : σ) => Nat) i) S₁ (instHPow.{u3, 0} S₁ ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : σ) => Nat) i) (Monoid.Pow.{u3} S₁ (MonoidWithZero.toMonoid.{u3} S₁ (Semiring.toMonoidWithZero.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))))) (x i) (FunLike.coe.{succ u1, succ u1, 1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) σ (fun (_x : σ) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : σ) => Nat) _x) (Finsupp.funLike.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) d i)))))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_eq' MvPolynomial.eval₂_eq'ₓ'. -/
theorem eval₂_eq' [Fintype σ] (g : R →+* S₁) (x : σ → S₁) (f : MvPolynomial σ R) :
f.eval₂ g x = ∑ d in f.support, g (f.coeff d) * ∏ i, x i ^ d i :=
@@ -1679,7 +1679,7 @@ theorem eval₂_add : (p + q).eval₂ f g = p.eval₂ f g + q.eval₂ f g := by
lean 3 declaration is
forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} {a : R} {s : Finsupp.{u3, 0} σ Nat Nat.hasZero} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : σ -> S₁), Eq.{succ u2} S₁ (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g (coeFn.{max (succ u1) (succ (max u3 u1)), max (succ u1) (succ (max u3 u1))} (LinearMap.{u1, u1, u1, max u3 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u3 u1} 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 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))))) (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 -> (MvPolynomial.{u3, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) a)) (HMul.hMul.{u2, u2, u2} S₁ S₁ S₁ (instHMul.{u2} S₁ (Distrib.toHasMul.{u2} S₁ (NonUnitalNonAssocSemiring.toDistrib.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) f a) (Finsupp.prod.{u3, 0, u2} σ Nat S₁ Nat.hasZero (CommSemiring.toCommMonoid.{u2} S₁ _inst_2) s (fun (n : σ) (e : Nat) => HPow.hPow.{u2, 0, u2} S₁ Nat S₁ (instHPow.{u2, 0} S₁ Nat (Monoid.Pow.{u2} S₁ (MonoidWithZero.toMonoid.{u2} S₁ (Semiring.toMonoidWithZero.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))))) (g n) e)))
but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} {a : R} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁), Eq.{succ u3} S₁ (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a)) (HMul.hMul.{u3, u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) S₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (instHMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (NonUnitalNonAssocSemiring.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2))))) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f a) (Finsupp.prod.{u1, 0, u3} σ Nat S₁ (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (CommSemiring.toCommMonoid.{u3} S₁ _inst_2) s (fun (n : σ) (e : Nat) => HPow.hPow.{u3, 0, u3} S₁ Nat S₁ (instHPow.{u3, 0} S₁ Nat (Monoid.Pow.{u3} S₁ (MonoidWithZero.toMonoid.{u3} S₁ (Semiring.toMonoidWithZero.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))))) (g n) e)))
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} {a : R} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁), Eq.{succ u3} S₁ (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a)) (HMul.hMul.{u3, u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) S₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (instHMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (NonUnitalNonAssocSemiring.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2))))) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f a) (Finsupp.prod.{u1, 0, u3} σ Nat S₁ (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (CommSemiring.toCommMonoid.{u3} S₁ _inst_2) s (fun (n : σ) (e : Nat) => HPow.hPow.{u3, 0, u3} S₁ Nat S₁ (instHPow.{u3, 0} S₁ Nat (Monoid.Pow.{u3} S₁ (MonoidWithZero.toMonoid.{u3} S₁ (Semiring.toMonoidWithZero.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))))) (g n) e)))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_monomial MvPolynomial.eval₂_monomialₓ'. -/
@[simp]
theorem eval₂_monomial : (monomial s a).eval₂ f g = f a * s.Prod fun n e => g n ^ e :=
@@ -1690,7 +1690,7 @@ theorem eval₂_monomial : (monomial s a).eval₂ f g = f a * s.Prod fun n e =>
lean 3 declaration is
forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : σ -> S₁) (a : R), Eq.{succ u2} S₁ (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g (coeFn.{max (succ u1) (succ (max u3 u1)), max (succ u1) (succ (max u3 u1))} (RingHom.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u3, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u3} R σ _inst_1) a)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) f a)
but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁) (a : R), Eq.{succ u3} S₁ (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g (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) a)) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f a)
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁) (a : R), Eq.{succ u3} S₁ (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g (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.2397 : 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) a)) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f a)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_C MvPolynomial.eval₂_Cₓ'. -/
@[simp]
theorem eval₂_C (a) : (C a).eval₂ f g = f a := by
@@ -1723,7 +1723,7 @@ theorem eval₂_X (n) : (X n).eval₂ f g = g n := by
lean 3 declaration is
forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] {p : MvPolynomial.{u3, u1} σ R _inst_1} (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : σ -> S₁) {s : Finsupp.{u3, 0} σ Nat Nat.hasZero} {a : R}, Eq.{succ u2} S₁ (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g (HMul.hMul.{max u3 u1, max u3 u1, max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u1} σ R _inst_1) (instHMul.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (Distrib.toHasMul.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) p (coeFn.{max (succ u1) (succ (max u3 u1)), max (succ u1) (succ (max u3 u1))} (LinearMap.{u1, u1, u1, max u3 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u3 u1} 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 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))))) (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 -> (MvPolynomial.{u3, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) a))) (HMul.hMul.{u2, u2, u2} S₁ S₁ S₁ (instHMul.{u2} S₁ (Distrib.toHasMul.{u2} S₁ (NonUnitalNonAssocSemiring.toDistrib.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))))) (HMul.hMul.{u2, u2, u2} S₁ S₁ S₁ (instHMul.{u2} S₁ (Distrib.toHasMul.{u2} S₁ (NonUnitalNonAssocSemiring.toDistrib.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))))) (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g p) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) f a)) (Finsupp.prod.{u3, 0, u2} σ Nat S₁ Nat.hasZero (CommSemiring.toCommMonoid.{u2} S₁ _inst_2) s (fun (n : σ) (e : Nat) => HPow.hPow.{u2, 0, u2} S₁ Nat S₁ (instHPow.{u2, 0} S₁ Nat (Monoid.Pow.{u2} S₁ (MonoidWithZero.toMonoid.{u2} S₁ (Semiring.toMonoidWithZero.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))))) (g n) e)))
but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] {p : MvPolynomial.{u1, u2} σ R _inst_1} (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁) {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} {a : R}, Eq.{succ u3} S₁ (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) p (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a))) (HMul.hMul.{u3, u3, u3} S₁ S₁ S₁ (instHMul.{u3} S₁ (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))))) (HMul.hMul.{u3, u3, u3} S₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) S₁ (instHMul.{u3} S₁ (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))))) (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g p) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f a)) (Finsupp.prod.{u1, 0, u3} σ Nat S₁ (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (CommSemiring.toCommMonoid.{u3} S₁ _inst_2) s (fun (n : σ) (e : Nat) => HPow.hPow.{u3, 0, u3} S₁ Nat S₁ (instHPow.{u3, 0} S₁ Nat (Monoid.Pow.{u3} S₁ (MonoidWithZero.toMonoid.{u3} S₁ (Semiring.toMonoidWithZero.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))))) (g n) e)))
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] {p : MvPolynomial.{u1, u2} σ R _inst_1} (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁) {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} {a : R}, Eq.{succ u3} S₁ (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) p (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a))) (HMul.hMul.{u3, u3, u3} S₁ S₁ S₁ (instHMul.{u3} S₁ (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))))) (HMul.hMul.{u3, u3, u3} S₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) S₁ (instHMul.{u3} S₁ (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))))) (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g p) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f a)) (Finsupp.prod.{u1, 0, u3} σ Nat S₁ (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (CommSemiring.toCommMonoid.{u3} S₁ _inst_2) s (fun (n : σ) (e : Nat) => HPow.hPow.{u3, 0, u3} S₁ Nat S₁ (instHPow.{u3, 0} S₁ Nat (Monoid.Pow.{u3} S₁ (MonoidWithZero.toMonoid.{u3} S₁ (Semiring.toMonoidWithZero.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))))) (g n) e)))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_mul_monomial MvPolynomial.eval₂_mul_monomialₓ'. -/
theorem eval₂_mul_monomial :
∀ {s a}, (p * monomial s a).eval₂ f g = p.eval₂ f g * f a * s.Prod fun n e => g n ^ e := by
@@ -1748,7 +1748,7 @@ theorem eval₂_mul_monomial :
lean 3 declaration is
forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} {a : R} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] {p : MvPolynomial.{u3, u1} σ R _inst_1} (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : σ -> S₁), Eq.{succ u2} S₁ (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g (HMul.hMul.{max u3 u1, max u3 u1, max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u1} σ R _inst_1) (instHMul.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (Distrib.toHasMul.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) p (coeFn.{max (succ u1) (succ (max u3 u1)), max (succ u1) (succ (max u3 u1))} (RingHom.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u3, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u3} R σ _inst_1) a))) (HMul.hMul.{u2, u2, u2} S₁ S₁ S₁ (instHMul.{u2} S₁ (Distrib.toHasMul.{u2} S₁ (NonUnitalNonAssocSemiring.toDistrib.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))))) (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g p) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) f a))
but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} {a : R} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] {p : MvPolynomial.{u1, u2} σ R _inst_1} (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁), Eq.{succ u3} S₁ (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) p (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) a))) (HMul.hMul.{u3, u3, u3} S₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) S₁ (instHMul.{u3} S₁ (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))))) (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g p) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f a))
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} {a : R} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] {p : MvPolynomial.{u1, u2} σ R _inst_1} (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁), Eq.{succ u3} S₁ (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) p (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.2397 : 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) a))) (HMul.hMul.{u3, u3, u3} S₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) S₁ (instHMul.{u3} S₁ (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))))) (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g p) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f a))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_mul_C MvPolynomial.eval₂_mul_Cₓ'. -/
theorem eval₂_mul_C : (p * C a).eval₂ f g = p.eval₂ f g * f a :=
(eval₂_mul_monomial _ _).trans <| by simp
@@ -1799,7 +1799,7 @@ def eval₂Hom (f : R →+* S₁) (g : σ → S₁) : MvPolynomial σ R →+* S
lean 3 declaration is
forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : σ -> S₁), Eq.{max (succ (max u3 u1)) (succ u2)} ((MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (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))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (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))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) (RingHom.hasCoeToFun.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (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))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (MvPolynomial.eval₂Hom.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g)) (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g)
but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁), Eq.{max (max (succ u2) (succ u3)) (succ u1)} (forall (ᾰ : MvPolynomial.{u1, u2} σ R _inst_1), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) ᾰ) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} 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 u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} 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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g)) (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g)
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁), Eq.{max (max (succ u2) (succ u3)) (succ u1)} (forall (ᾰ : MvPolynomial.{u1, u2} σ R _inst_1), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) ᾰ) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} 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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g)) (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.coe_eval₂_hom MvPolynomial.coe_eval₂Homₓ'. -/
@[simp]
theorem coe_eval₂Hom (f : R →+* S₁) (g : σ → S₁) : ⇑(eval₂Hom f g) = eval₂ f g :=
@@ -1810,7 +1810,7 @@ theorem coe_eval₂Hom (f : R →+* S₁) (g : σ → S₁) : ⇑(eval₂Hom f g
lean 3 declaration is
forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] {f₁ : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))} {f₂ : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))} {g₁ : σ -> S₁} {g₂ : σ -> S₁} {p₁ : MvPolynomial.{u3, u1} σ R _inst_1} {p₂ : MvPolynomial.{u3, u1} σ R _inst_1}, (Eq.{max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) f₁ f₂) -> (Eq.{max (succ u3) (succ u2)} (σ -> S₁) g₁ g₂) -> (Eq.{max (succ u3) (succ u1)} (MvPolynomial.{u3, u1} σ R _inst_1) p₁ p₂) -> (Eq.{succ u2} S₁ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (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))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (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))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) (RingHom.hasCoeToFun.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (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))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (MvPolynomial.eval₂Hom.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f₁ g₁) p₁) (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (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))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (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))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) (RingHom.hasCoeToFun.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (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))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (MvPolynomial.eval₂Hom.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f₂ g₂) p₂))
but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] {f₁ : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))} {f₂ : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))} {g₁ : σ -> S₁} {g₂ : σ -> S₁} {p₁ : MvPolynomial.{u1, u2} σ R _inst_1} {p₂ : MvPolynomial.{u1, u2} σ R _inst_1}, (Eq.{max (succ u2) (succ u3)} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) f₁ f₂) -> (Eq.{max (succ u3) (succ u1)} (σ -> S₁) g₁ g₂) -> (Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u1, u2} σ R _inst_1) p₁ p₂) -> (Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) p₁) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} 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 u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} 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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f₁ g₁) p₁) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} 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 u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} 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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f₂ g₂) p₂))
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] {f₁ : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))} {f₂ : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))} {g₁ : σ -> S₁} {g₂ : σ -> S₁} {p₁ : MvPolynomial.{u1, u2} σ R _inst_1} {p₂ : MvPolynomial.{u1, u2} σ R _inst_1}, (Eq.{max (succ u2) (succ u3)} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) f₁ f₂) -> (Eq.{max (succ u3) (succ u1)} (σ -> S₁) g₁ g₂) -> (Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u1, u2} σ R _inst_1) p₁ p₂) -> (Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) p₁) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} 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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f₁ g₁) p₁) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} 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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f₂ g₂) p₂))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_hom_congr MvPolynomial.eval₂Hom_congrₓ'. -/
theorem eval₂Hom_congr {f₁ f₂ : R →+* S₁} {g₁ g₂ : σ → S₁} {p₁ p₂ : MvPolynomial σ R} :
f₁ = f₂ → g₁ = g₂ → p₁ = p₂ → eval₂Hom f₁ g₁ p₁ = eval₂Hom f₂ g₂ p₂ := by
@@ -1823,7 +1823,7 @@ end
lean 3 declaration is
forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : σ -> S₁) (r : R), Eq.{succ u2} S₁ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (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))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (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))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) (RingHom.hasCoeToFun.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (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))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (MvPolynomial.eval₂Hom.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g) (coeFn.{max (succ u1) (succ (max u3 u1)), max (succ u1) (succ (max u3 u1))} (RingHom.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u3, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u3} R σ _inst_1) r)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) f r)
but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁) (r : R), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) (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 u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} 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 u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} 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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g) (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 u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f r)
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁) (r : R), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) (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.2397 : 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 u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} 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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g) (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.2397 : 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 u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f r)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_hom_C MvPolynomial.eval₂Hom_Cₓ'. -/
@[simp]
theorem eval₂Hom_C (f : R →+* S₁) (g : σ → S₁) (r : R) : eval₂Hom f g (C r) = f r :=
@@ -1834,7 +1834,7 @@ theorem eval₂Hom_C (f : R →+* S₁) (g : σ → S₁) (r : R) : eval₂Hom f
lean 3 declaration is
forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : σ -> S₁) (i : σ), Eq.{succ u2} S₁ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (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))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (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))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) (RingHom.hasCoeToFun.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (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))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (MvPolynomial.eval₂Hom.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g) (MvPolynomial.X.{u1, u3} R σ _inst_1 i)) (g i)
but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁) (i : σ), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) (MvPolynomial.X.{u2, u1} R σ _inst_1 i)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} 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 u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} 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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g) (MvPolynomial.X.{u2, u1} R σ _inst_1 i)) (g i)
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁) (i : σ), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) (MvPolynomial.X.{u2, u1} R σ _inst_1 i)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} 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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g) (MvPolynomial.X.{u2, u1} R σ _inst_1 i)) (g i)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_hom_X' MvPolynomial.eval₂Hom_X'ₓ'. -/
@[simp]
theorem eval₂Hom_X' (f : R →+* S₁) (g : σ → S₁) (i : σ) : eval₂Hom f g (X i) = g i :=
@@ -1845,7 +1845,7 @@ theorem eval₂Hom_X' (f : R →+* S₁) (g : σ → S₁) (i : σ) : eval₂Hom
lean 3 declaration is
forall {R : Type.{u1}} {S₁ : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u4}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : CommSemiring.{u3} S₂] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : σ -> S₁) (φ : RingHom.{u2, u3} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))), Eq.{max (succ (max u4 u1)) (succ u3)} (RingHom.{max u4 u1, u3} (MvPolynomial.{u4, u1} σ R _inst_1) S₂ (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))) (RingHom.comp.{max u4 u1, u2, u3} (MvPolynomial.{u4, u1} σ R _inst_1) S₁ S₂ (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3)) φ (MvPolynomial.eval₂Hom.{u1, u2, u4} R S₁ σ _inst_1 _inst_2 f g)) (MvPolynomial.eval₂Hom.{u1, u3, u4} R S₂ σ _inst_1 _inst_3 (RingHom.comp.{u1, u2, u3} R S₁ S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3)) φ f) (fun (i : σ) => coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (RingHom.{u2, u3} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))) (fun (_x : RingHom.{u2, u3} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))) => S₁ -> S₂) (RingHom.hasCoeToFun.{u2, u3} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))) φ (g i)))
but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {S₂ : Type.{u4}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : CommSemiring.{u4} S₂] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁) (φ : RingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))), Eq.{max (max (succ u2) (succ u4)) (succ u1)} (RingHom.{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_3))) (RingHom.comp.{max u1 u2, u3, u4} (MvPolynomial.{u1, u2} σ R _inst_1) S₁ 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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)) φ (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g)) (MvPolynomial.eval₂Hom.{u2, u4, u1} R S₂ σ _inst_1 _inst_3 (RingHom.comp.{u2, u3, u4} R S₁ S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)) φ f) (fun (i : σ) => FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (RingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) S₁ (fun (_x : S₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S₁) => S₂) _x) (MulHomClass.toFunLike.{max u3 u4, u3, u4} (RingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) S₁ S₂ (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{u4} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₂ (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u4, u3, u4} (RingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) S₁ S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₂ (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u4, u3, u4} (RingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)) (RingHom.instRingHomClassRingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)))))) φ (g i)))
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {S₂ : Type.{u4}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : CommSemiring.{u4} S₂] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁) (φ : RingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))), Eq.{max (max (succ u2) (succ u4)) (succ u1)} (RingHom.{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_3))) (RingHom.comp.{max u1 u2, u3, u4} (MvPolynomial.{u1, u2} σ R _inst_1) S₁ 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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)) φ (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g)) (MvPolynomial.eval₂Hom.{u2, u4, u1} R S₂ σ _inst_1 _inst_3 (RingHom.comp.{u2, u3, u4} R S₁ S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)) φ f) (fun (i : σ) => FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (RingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) S₁ (fun (_x : S₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S₁) => S₂) _x) (MulHomClass.toFunLike.{max u3 u4, u3, u4} (RingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) S₁ S₂ (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{u4} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₂ (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u4, u3, u4} (RingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) S₁ S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₂ (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u4, u3, u4} (RingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)) (RingHom.instRingHomClassRingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)))))) φ (g i)))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.comp_eval₂_hom MvPolynomial.comp_eval₂Homₓ'. -/
@[simp]
theorem comp_eval₂Hom [CommSemiring S₂] (f : R →+* S₁) (g : σ → S₁) (φ : S₁ →+* S₂) :
@@ -1862,7 +1862,7 @@ theorem comp_eval₂Hom [CommSemiring S₂] (f : R →+* S₁) (g : σ → S₁)
lean 3 declaration is
forall {R : Type.{u1}} {S₁ : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u4}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : CommSemiring.{u3} S₂] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : σ -> S₁) (φ : RingHom.{u2, u3} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))) (p : MvPolynomial.{u4, u1} σ R _inst_1), Eq.{succ u3} S₂ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (RingHom.{u2, u3} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))) (fun (_x : RingHom.{u2, u3} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))) => S₁ -> S₂) (RingHom.hasCoeToFun.{u2, u3} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))) φ (coeFn.{max (succ (max u4 u1)) (succ u2), max (succ (max u4 u1)) (succ u2)} (RingHom.{max u4 u1, u2} (MvPolynomial.{u4, u1} σ R _inst_1) S₁ (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{max u4 u1, u2} (MvPolynomial.{u4, u1} σ R _inst_1) S₁ (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => (MvPolynomial.{u4, u1} σ R _inst_1) -> S₁) (RingHom.hasCoeToFun.{max u4 u1, u2} (MvPolynomial.{u4, u1} σ R _inst_1) S₁ (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (MvPolynomial.eval₂Hom.{u1, u2, u4} R S₁ σ _inst_1 _inst_2 f g) p)) (coeFn.{max (succ (max u4 u1)) (succ u3), max (succ (max u4 u1)) (succ u3)} (RingHom.{max u4 u1, u3} (MvPolynomial.{u4, u1} σ R _inst_1) S₂ (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))) (fun (_x : RingHom.{max u4 u1, u3} (MvPolynomial.{u4, u1} σ R _inst_1) S₂ (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))) => (MvPolynomial.{u4, u1} σ R _inst_1) -> S₂) (RingHom.hasCoeToFun.{max u4 u1, u3} (MvPolynomial.{u4, u1} σ R _inst_1) S₂ (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))) (MvPolynomial.eval₂Hom.{u1, u3, u4} R S₂ σ _inst_1 _inst_3 (RingHom.comp.{u1, u2, u3} R S₁ S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3)) φ f) (fun (i : σ) => coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (RingHom.{u2, u3} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))) (fun (_x : RingHom.{u2, u3} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))) => S₁ -> S₂) (RingHom.hasCoeToFun.{u2, u3} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))) φ (g i))) p)
but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {S₂ : Type.{u4}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : CommSemiring.{u4} S₂] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁) (φ : RingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S₁) => S₂) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (a : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} 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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g) p)) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (RingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) S₁ (fun (_x : S₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S₁) => S₂) _x) (MulHomClass.toFunLike.{max u3 u4, u3, u4} (RingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) S₁ S₂ (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{u4} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₂ (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u4, u3, u4} (RingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) S₁ S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₂ (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u4, u3, u4} (RingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)) (RingHom.instRingHomClassRingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)))))) φ (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} 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 u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} 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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g) p)) (FunLike.coe.{max (max (succ u2) (succ u4)) (succ u1), max (succ u2) (succ u1), 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_3))) (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 u2 u4) u1, max u2 u1, 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_3))) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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_3)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u4) u1, max u2 u1, 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_3))) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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_3))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u4) u1, max u2 u1, 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_3))) (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_3)) (RingHom.instRingHomClassRingHom.{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_3)))))) (MvPolynomial.eval₂Hom.{u2, u4, u1} R S₂ σ _inst_1 _inst_3 (RingHom.comp.{u2, u3, u4} R S₁ S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)) φ f) (fun (i : σ) => FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (RingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) S₁ (fun (_x : S₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S₁) => S₂) _x) (MulHomClass.toFunLike.{max u3 u4, u3, u4} (RingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) S₁ S₂ (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{u4} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₂ (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u4, u3, u4} (RingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) S₁ S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₂ (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u4, u3, u4} (RingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)) (RingHom.instRingHomClassRingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)))))) φ (g i))) p)
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {S₂ : Type.{u4}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : CommSemiring.{u4} S₂] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁) (φ : RingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S₁) => S₂) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (a : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} 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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g) p)) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (RingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) S₁ (fun (_x : S₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S₁) => S₂) _x) (MulHomClass.toFunLike.{max u3 u4, u3, u4} (RingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) S₁ S₂ (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{u4} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₂ (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u4, u3, u4} (RingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) S₁ S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₂ (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u4, u3, u4} (RingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)) (RingHom.instRingHomClassRingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)))))) φ (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} 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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g) p)) (FunLike.coe.{max (max (succ u2) (succ u4)) (succ u1), max (succ u2) (succ u1), 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_3))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) _x) (MulHomClass.toFunLike.{max (max u2 u4) u1, max u2 u1, 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_3))) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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_3)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u4) u1, max u2 u1, 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_3))) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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_3))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u4) u1, max u2 u1, 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_3))) (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_3)) (RingHom.instRingHomClassRingHom.{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_3)))))) (MvPolynomial.eval₂Hom.{u2, u4, u1} R S₂ σ _inst_1 _inst_3 (RingHom.comp.{u2, u3, u4} R S₁ S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)) φ f) (fun (i : σ) => FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (RingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) S₁ (fun (_x : S₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S₁) => S₂) _x) (MulHomClass.toFunLike.{max u3 u4, u3, u4} (RingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) S₁ S₂ (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{u4} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₂ (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u4, u3, u4} (RingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) S₁ S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₂ (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u4, u3, u4} (RingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)) (RingHom.instRingHomClassRingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)))))) φ (g i))) p)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.map_eval₂_hom MvPolynomial.map_eval₂Homₓ'. -/
theorem map_eval₂Hom [CommSemiring S₂] (f : R →+* S₁) (g : σ → S₁) (φ : S₁ →+* S₂)
(p : MvPolynomial σ R) : φ (eval₂Hom f g p) = eval₂Hom (φ.comp f) (fun i => φ (g i)) p :=
@@ -1875,7 +1875,7 @@ theorem map_eval₂Hom [CommSemiring S₂] (f : R →+* S₁) (g : σ → S₁)
lean 3 declaration is
forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : σ -> S₁) (d : Finsupp.{u3, 0} σ Nat Nat.hasZero) (r : R), Eq.{succ u2} S₁ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (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))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (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))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) (RingHom.hasCoeToFun.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (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))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (MvPolynomial.eval₂Hom.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g) (coeFn.{max (succ u1) (succ (max u3 u1)), max (succ u1) (succ (max u3 u1))} (LinearMap.{u1, u1, u1, max u3 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u3 u1} 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 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))))) (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 -> (MvPolynomial.{u3, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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)) (HMul.hMul.{u2, u2, u2} S₁ S₁ S₁ (instHMul.{u2} S₁ (Distrib.toHasMul.{u2} S₁ (NonUnitalNonAssocSemiring.toDistrib.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) f r) (Finsupp.prod.{u3, 0, u2} σ Nat S₁ Nat.hasZero (CommSemiring.toCommMonoid.{u2} S₁ _inst_2) d (fun (i : σ) (k : Nat) => HPow.hPow.{u2, 0, u2} S₁ Nat S₁ (instHPow.{u2, 0} S₁ Nat (Monoid.Pow.{u2} S₁ (MonoidWithZero.toMonoid.{u2} S₁ (Semiring.toMonoidWithZero.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))))) (g i) k)))
but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁) (d : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (r : R), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 d) r)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} 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 u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} 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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 d) r)) (HMul.hMul.{u3, u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) S₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (instHMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (NonUnitalNonAssocSemiring.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2))))) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f r) (Finsupp.prod.{u1, 0, u3} σ Nat S₁ (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (CommSemiring.toCommMonoid.{u3} S₁ _inst_2) d (fun (i : σ) (k : Nat) => HPow.hPow.{u3, 0, u3} S₁ Nat S₁ (instHPow.{u3, 0} S₁ Nat (Monoid.Pow.{u3} S₁ (MonoidWithZero.toMonoid.{u3} S₁ (Semiring.toMonoidWithZero.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))))) (g i) k)))
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁) (d : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (r : R), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 d) r)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} 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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 d) r)) (HMul.hMul.{u3, u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) S₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (instHMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (NonUnitalNonAssocSemiring.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2))))) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f r) (Finsupp.prod.{u1, 0, u3} σ Nat S₁ (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (CommSemiring.toCommMonoid.{u3} S₁ _inst_2) d (fun (i : σ) (k : Nat) => HPow.hPow.{u3, 0, u3} S₁ Nat S₁ (instHPow.{u3, 0} S₁ Nat (Monoid.Pow.{u3} S₁ (MonoidWithZero.toMonoid.{u3} S₁ (Semiring.toMonoidWithZero.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))))) (g i) k)))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_hom_monomial MvPolynomial.eval₂Hom_monomialₓ'. -/
theorem eval₂Hom_monomial (f : R →+* S₁) (g : σ → S₁) (d : σ →₀ ℕ) (r : R) :
eval₂Hom f g (monomial d r) = f r * d.Prod fun i k => g i ^ k := by
@@ -1889,7 +1889,7 @@ section
lean 3 declaration is
forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] {S₂ : Type.{u4}} [_inst_3 : CommSemiring.{u4} S₂] (k : RingHom.{u2, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : σ -> S₁) (p : MvPolynomial.{u3, u1} σ R _inst_1), Eq.{succ u4} S₂ (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (RingHom.{u2, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) (fun (_x : RingHom.{u2, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) => S₁ -> S₂) (RingHom.hasCoeToFun.{u2, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) k (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g p)) (MvPolynomial.eval₂.{u1, u4, u3} R S₂ σ _inst_1 _inst_3 (RingHom.comp.{u1, u2, u4} R S₁ S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)) k f) (Function.comp.{succ u3, succ u2, succ u4} σ S₁ S₂ (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (RingHom.{u2, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) (fun (_x : RingHom.{u2, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) => S₁ -> S₂) (RingHom.hasCoeToFun.{u2, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) k) g) p)
but is expected to have type
- forall {R : Type.{u3}} {S₁ : Type.{u4}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] [_inst_2 : CommSemiring.{u4} S₁] {S₂ : Type.{u2}} [_inst_3 : CommSemiring.{u2} S₂] (k : RingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) (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 : σ -> S₁) (p : MvPolynomial.{u1, u3} σ R _inst_1), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S₁) => S₂) (MvPolynomial.eval₂.{u3, u4, u1} R S₁ σ _inst_1 _inst_2 f g p)) (FunLike.coe.{max (succ u4) (succ u2), succ u4, succ u2} (RingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) S₁ (fun (_x : S₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S₁) => S₂) _x) (MulHomClass.toFunLike.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) S₁ S₂ (NonUnitalNonAssocSemiring.toMul.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{u2} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) S₁ S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3)) (RingHom.instRingHomClassRingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3)))))) k (MvPolynomial.eval₂.{u3, u4, u1} R S₁ σ _inst_1 _inst_2 f g p)) (MvPolynomial.eval₂.{u3, u2, u1} R S₂ σ _inst_1 _inst_3 (RingHom.comp.{u3, u4, u2} R S₁ S₂ (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3)) k f) (Function.comp.{succ u1, succ u4, succ u2} σ S₁ S₂ (FunLike.coe.{max (succ u4) (succ u2), succ u4, succ u2} (RingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) S₁ (fun (_x : S₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S₁) => S₂) _x) (MulHomClass.toFunLike.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) S₁ S₂ (NonUnitalNonAssocSemiring.toMul.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{u2} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) S₁ S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3)) (RingHom.instRingHomClassRingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3)))))) k) g) p)
+ forall {R : Type.{u3}} {S₁ : Type.{u4}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] [_inst_2 : CommSemiring.{u4} S₁] {S₂ : Type.{u2}} [_inst_3 : CommSemiring.{u2} S₂] (k : RingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) (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 : σ -> S₁) (p : MvPolynomial.{u1, u3} σ R _inst_1), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S₁) => S₂) (MvPolynomial.eval₂.{u3, u4, u1} R S₁ σ _inst_1 _inst_2 f g p)) (FunLike.coe.{max (succ u4) (succ u2), succ u4, succ u2} (RingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) S₁ (fun (_x : S₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S₁) => S₂) _x) (MulHomClass.toFunLike.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) S₁ S₂ (NonUnitalNonAssocSemiring.toMul.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{u2} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) S₁ S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3)) (RingHom.instRingHomClassRingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3)))))) k (MvPolynomial.eval₂.{u3, u4, u1} R S₁ σ _inst_1 _inst_2 f g p)) (MvPolynomial.eval₂.{u3, u2, u1} R S₂ σ _inst_1 _inst_3 (RingHom.comp.{u3, u4, u2} R S₁ S₂ (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3)) k f) (Function.comp.{succ u1, succ u4, succ u2} σ S₁ S₂ (FunLike.coe.{max (succ u4) (succ u2), succ u4, succ u2} (RingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) S₁ (fun (_x : S₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S₁) => S₂) _x) (MulHomClass.toFunLike.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) S₁ S₂ (NonUnitalNonAssocSemiring.toMul.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{u2} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) S₁ S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3)) (RingHom.instRingHomClassRingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3)))))) k) g) p)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_comp_left MvPolynomial.eval₂_comp_leftₓ'. -/
theorem eval₂_comp_left {S₂} [CommSemiring S₂] (k : S₁ →+* S₂) (f : R →+* S₁) (g : σ → S₁) (p) :
k (eval₂ f g p) = eval₂ (k.comp f) (k ∘ g) p := by
@@ -1984,7 +1984,7 @@ def eval (f : σ → R) : MvPolynomial σ R →+* R :=
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (x : σ -> R) (f : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{succ u1} R (coeFn.{max (succ (max u2 u1)) (succ u1), max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u2, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.eval.{u1, u2} R σ _inst_1 x) f) (Finset.sum.{u1, u2} R (Finsupp.{u2, 0} σ Nat Nat.hasZero) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MvPolynomial.support.{u1, u2} R σ _inst_1 f) (fun (d : Finsupp.{u2, 0} σ Nat Nat.hasZero) => HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (MvPolynomial.coeff.{u1, u2} R σ _inst_1 d f) (Finset.prod.{u1, u2} R σ (CommSemiring.toCommMonoid.{u1} R _inst_1) (Finsupp.support.{u2, 0} σ Nat Nat.hasZero d) (fun (i : σ) => HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (x i) (coeFn.{succ u2, succ u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (fun (_x : Finsupp.{u2, 0} σ Nat Nat.hasZero) => σ -> Nat) (Finsupp.coeFun.{u2, 0} σ Nat Nat.hasZero) d i)))))
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (x : σ -> R) (f : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) f) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (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) => R) _x) (MulHomClass.toFunLike.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.eval.{u2, u1} R σ _inst_1 x) f) (Finset.sum.{u2, u1} R (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.support.{u2, u1} R σ _inst_1 f) (fun (d : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f) (Finset.prod.{u2, u1} R σ (CommSemiring.toCommMonoid.{u2} R _inst_1) (Finsupp.support.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) d) (fun (i : σ) => HPow.hPow.{u2, 0, u2} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : σ) => Nat) i) R (instHPow.{u2, 0} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : σ) => Nat) i) (Monoid.Pow.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (x i) (FunLike.coe.{succ u1, succ u1, 1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) σ (fun (_x : σ) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : σ) => Nat) _x) (Finsupp.funLike.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) d i)))))
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (x : σ -> R) (f : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) f) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.eval.{u2, u1} R σ _inst_1 x) f) (Finset.sum.{u2, u1} R (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.support.{u2, u1} R σ _inst_1 f) (fun (d : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f) (Finset.prod.{u2, u1} R σ (CommSemiring.toCommMonoid.{u2} R _inst_1) (Finsupp.support.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) d) (fun (i : σ) => HPow.hPow.{u2, 0, u2} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : σ) => Nat) i) R (instHPow.{u2, 0} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : σ) => Nat) i) (Monoid.Pow.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (x i) (FunLike.coe.{succ u1, succ u1, 1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) σ (fun (_x : σ) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : σ) => Nat) _x) (Finsupp.funLike.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) d i)))))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval_eq MvPolynomial.eval_eqₓ'. -/
theorem eval_eq (x : σ → R) (f : MvPolynomial σ R) :
eval x f = ∑ d in f.support, f.coeff d * ∏ i in d.support, x i ^ d i :=
@@ -1995,7 +1995,7 @@ theorem eval_eq (x : σ → R) (f : MvPolynomial σ R) :
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_3 : Fintype.{u2} σ] (x : σ -> R) (f : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{succ u1} R (coeFn.{max (succ (max u2 u1)) (succ u1), max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u2, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.eval.{u1, u2} R σ _inst_1 x) f) (Finset.sum.{u1, u2} R (Finsupp.{u2, 0} σ Nat Nat.hasZero) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MvPolynomial.support.{u1, u2} R σ _inst_1 f) (fun (d : Finsupp.{u2, 0} σ Nat Nat.hasZero) => HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (MvPolynomial.coeff.{u1, u2} R σ _inst_1 d f) (Finset.prod.{u1, u2} R σ (CommSemiring.toCommMonoid.{u1} R _inst_1) (Finset.univ.{u2} σ _inst_3) (fun (i : σ) => HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (x i) (coeFn.{succ u2, succ u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (fun (_x : Finsupp.{u2, 0} σ Nat Nat.hasZero) => σ -> Nat) (Finsupp.coeFun.{u2, 0} σ Nat Nat.hasZero) d i)))))
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_3 : Fintype.{u1} σ] (x : σ -> R) (f : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) f) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (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) => R) _x) (MulHomClass.toFunLike.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.eval.{u2, u1} R σ _inst_1 x) f) (Finset.sum.{u2, u1} R (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.support.{u2, u1} R σ _inst_1 f) (fun (d : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f) (Finset.prod.{u2, u1} R σ (CommSemiring.toCommMonoid.{u2} R _inst_1) (Finset.univ.{u1} σ _inst_3) (fun (i : σ) => HPow.hPow.{u2, 0, u2} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : σ) => Nat) i) R (instHPow.{u2, 0} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : σ) => Nat) i) (Monoid.Pow.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (x i) (FunLike.coe.{succ u1, succ u1, 1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) σ (fun (_x : σ) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : σ) => Nat) _x) (Finsupp.funLike.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) d i)))))
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_3 : Fintype.{u1} σ] (x : σ -> R) (f : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) f) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.eval.{u2, u1} R σ _inst_1 x) f) (Finset.sum.{u2, u1} R (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.support.{u2, u1} R σ _inst_1 f) (fun (d : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f) (Finset.prod.{u2, u1} R σ (CommSemiring.toCommMonoid.{u2} R _inst_1) (Finset.univ.{u1} σ _inst_3) (fun (i : σ) => HPow.hPow.{u2, 0, u2} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : σ) => Nat) i) R (instHPow.{u2, 0} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : σ) => Nat) i) (Monoid.Pow.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (x i) (FunLike.coe.{succ u1, succ u1, 1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) σ (fun (_x : σ) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : σ) => Nat) _x) (Finsupp.funLike.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) d i)))))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval_eq' MvPolynomial.eval_eq'ₓ'. -/
theorem eval_eq' [Fintype σ] (x : σ → R) (f : MvPolynomial σ R) :
eval x f = ∑ d in f.support, f.coeff d * ∏ i, x i ^ d i :=
@@ -2006,7 +2006,7 @@ theorem eval_eq' [Fintype σ] (x : σ → R) (f : MvPolynomial σ R) :
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} {a : R} {s : Finsupp.{u2, 0} σ Nat Nat.hasZero} [_inst_1 : CommSemiring.{u1} R] {f : σ -> R}, Eq.{succ u1} R (coeFn.{max (succ (max u2 u1)) (succ u1), max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u2, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.eval.{u1, u2} R σ _inst_1 f) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) a)) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) a (Finsupp.prod.{u2, 0, u1} σ Nat R Nat.hasZero (CommSemiring.toCommMonoid.{u1} R _inst_1) s (fun (n : σ) (e : Nat) => HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (f n) e)))
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u2} R] {f : σ -> R}, Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (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) => R) _x) (MulHomClass.toFunLike.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.eval.{u2, u1} R σ _inst_1 f) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a)) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) a (Finsupp.prod.{u1, 0, u2} σ Nat R (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (CommSemiring.toCommMonoid.{u2} R _inst_1) s (fun (n : σ) (e : Nat) => HPow.hPow.{u2, 0, u2} R Nat R (instHPow.{u2, 0} R Nat (Monoid.Pow.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (f n) e)))
+ forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u2} R] {f : σ -> R}, Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.eval.{u2, u1} R σ _inst_1 f) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a)) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) a (Finsupp.prod.{u1, 0, u2} σ Nat R (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (CommSemiring.toCommMonoid.{u2} R _inst_1) s (fun (n : σ) (e : Nat) => HPow.hPow.{u2, 0, u2} R Nat R (instHPow.{u2, 0} R Nat (Monoid.Pow.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (f n) e)))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval_monomial MvPolynomial.eval_monomialₓ'. -/
theorem eval_monomial : eval f (monomial s a) = a * s.Prod fun n e => f n ^ e :=
eval₂_monomial _ _
@@ -2016,7 +2016,7 @@ theorem eval_monomial : eval f (monomial s a) = a * s.Prod fun n e => f n ^ e :=
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {f : σ -> R} (a : R), Eq.{succ u1} R (coeFn.{max (succ (max u2 u1)) (succ u1), max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u2, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.eval.{u1, u2} R σ _inst_1 f) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a)) a
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {f : σ -> R} (a : R), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) (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) a)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (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) => R) _x) (MulHomClass.toFunLike.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.eval.{u2, u1} 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) a)) a
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {f : σ -> R} (a : R), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) (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.2397 : 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) a)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.eval.{u2, u1} 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.2397 : 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) a)) a
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval_C MvPolynomial.eval_Cₓ'. -/
@[simp]
theorem eval_C : ∀ a, eval f (C a) = a :=
@@ -2027,7 +2027,7 @@ theorem eval_C : ∀ a, eval f (C a) = a :=
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {f : σ -> R} (n : σ), Eq.{succ u1} R (coeFn.{max (succ (max u2 u1)) (succ u1), max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u2, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.eval.{u1, u2} R σ _inst_1 f) (MvPolynomial.X.{u1, u2} R σ _inst_1 n)) (f n)
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {f : σ -> R} (n : σ), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) (MvPolynomial.X.{u2, u1} R σ _inst_1 n)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (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) => R) _x) (MulHomClass.toFunLike.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.eval.{u2, u1} R σ _inst_1 f) (MvPolynomial.X.{u2, u1} R σ _inst_1 n)) (f n)
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {f : σ -> R} (n : σ), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) (MvPolynomial.X.{u2, u1} R σ _inst_1 n)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.eval.{u2, u1} R σ _inst_1 f) (MvPolynomial.X.{u2, u1} R σ _inst_1 n)) (f n)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval_X MvPolynomial.eval_Xₓ'. -/
@[simp]
theorem eval_X : ∀ n, eval f (X n) = f n :=
@@ -2038,7 +2038,7 @@ theorem eval_X : ∀ n, eval f (X n) = f n :=
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (x : σ -> R) (p : MvPolynomial.{u2, u1} σ R _inst_1) (s : R), Eq.{succ u1} R (coeFn.{max (succ (max u2 u1)) (succ u1), max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u2, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.eval.{u1, u2} R σ _inst_1 x) (SMul.smul.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (SMulZeroClass.toHasSmul.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (MulZeroClass.toHasZero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toMulZeroClass.{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)))))) (MvPolynomial.smulZeroClass.{u1, u1, u2} R R σ _inst_1 (SMulWithZero.toSmulZeroClass.{u1, u1} R R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (MulZeroClass.toSMulWithZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))) s p)) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) s (coeFn.{max (succ (max u2 u1)) (succ u1), max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u2, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.eval.{u1, u2} R σ _inst_1 x) p))
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (x : σ -> R) (p : MvPolynomial.{u1, u2} σ R _inst_1) (s : R), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) (HSMul.hSMul.{u2, max u2 u1, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (Algebra.toSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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)))) s p)) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (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) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.eval.{u2, u1} R σ _inst_1 x) (HSMul.hSMul.{u2, max u2 u1, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (Algebra.toSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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)))) s p)) (HMul.hMul.{u2, u2, u2} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) s (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (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) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.eval.{u2, u1} R σ _inst_1 x) p))
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (x : σ -> R) (p : MvPolynomial.{u1, u2} σ R _inst_1) (s : R), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) (HSMul.hSMul.{u2, max u2 u1, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (Algebra.toSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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)))) s p)) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.eval.{u2, u1} R σ _inst_1 x) (HSMul.hSMul.{u2, max u2 u1, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (Algebra.toSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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)))) s p)) (HMul.hMul.{u2, u2, u2} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) s (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.eval.{u2, u1} R σ _inst_1 x) p))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.smul_eval MvPolynomial.smul_evalₓ'. -/
@[simp]
theorem smul_eval (x) (p : MvPolynomial σ R) (s) : eval x (s • p) = s * eval x p := by
@@ -2049,7 +2049,7 @@ theorem smul_eval (x) (p : MvPolynomial σ R) (s) : eval x (s • p) = s * eval
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {ι : Type.{u3}} (s : Finset.{u3} ι) (f : ι -> (MvPolynomial.{u2, u1} σ R _inst_1)) (g : σ -> R), Eq.{succ u1} R (coeFn.{max (succ (max u2 u1)) (succ u1), max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u2, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.eval.{u1, u2} R σ _inst_1 g) (Finset.sum.{max u2 u1, u3} (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))))) s (fun (i : ι) => f i))) (Finset.sum.{u1, u3} R ι (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) s (fun (i : ι) => coeFn.{max (succ (max u2 u1)) (succ u1), max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u2, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.eval.{u1, u2} R σ _inst_1 g) (f i)))
but is expected to have type
- forall {R : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] {ι : Type.{u2}} (s : Finset.{u2} ι) (f : ι -> (MvPolynomial.{u1, u3} σ R _inst_1)) (g : σ -> R), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ R _inst_1) => R) (Finset.sum.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) ι (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) s (fun (i : ι) => f i))) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), succ u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) R (NonUnitalNonAssocSemiring.toMul.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))))) (MvPolynomial.eval.{u3, u1} R σ _inst_1 g) (Finset.sum.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) ι (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) s (fun (i : ι) => f i))) (Finset.sum.{u3, u2} R ι (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) s (fun (i : ι) => FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), succ u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) R (NonUnitalNonAssocSemiring.toMul.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))))) (MvPolynomial.eval.{u3, u1} R σ _inst_1 g) (f i)))
+ forall {R : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] {ι : Type.{u2}} (s : Finset.{u2} ι) (f : ι -> (MvPolynomial.{u1, u3} σ R _inst_1)) (g : σ -> R), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ R _inst_1) => R) (Finset.sum.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) ι (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) s (fun (i : ι) => f i))) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), succ u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) R (NonUnitalNonAssocSemiring.toMul.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))))) (MvPolynomial.eval.{u3, u1} R σ _inst_1 g) (Finset.sum.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) ι (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) s (fun (i : ι) => f i))) (Finset.sum.{u3, u2} R ι (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) s (fun (i : ι) => FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), succ u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) R (NonUnitalNonAssocSemiring.toMul.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))))) (MvPolynomial.eval.{u3, u1} R σ _inst_1 g) (f i)))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval_sum MvPolynomial.eval_sumₓ'. -/
theorem eval_sum {ι : Type _} (s : Finset ι) (f : ι → MvPolynomial σ R) (g : σ → R) :
eval g (∑ i in s, f i) = ∑ i in s, eval g (f i) :=
@@ -2060,7 +2060,7 @@ theorem eval_sum {ι : Type _} (s : Finset ι) (f : ι → MvPolynomial σ R) (g
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {ι : Type.{u3}} (s : Finset.{u3} ι) (f : ι -> (MvPolynomial.{u2, u1} σ R _inst_1)) (g : σ -> R), Eq.{succ u1} R (coeFn.{max (succ (max u2 u1)) (succ u1), max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u2, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.eval.{u1, u2} R σ _inst_1 g) (Finset.prod.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) ι (CommSemiring.toCommMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) s (fun (i : ι) => f i))) (Finset.prod.{u1, u3} R ι (CommSemiring.toCommMonoid.{u1} R _inst_1) s (fun (i : ι) => coeFn.{max (succ (max u2 u1)) (succ u1), max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u2, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.eval.{u1, u2} R σ _inst_1 g) (f i)))
but is expected to have type
- forall {R : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] {ι : Type.{u2}} (s : Finset.{u2} ι) (f : ι -> (MvPolynomial.{u1, u3} σ R _inst_1)) (g : σ -> R), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ R _inst_1) => R) (Finset.prod.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) ι (CommSemiring.toCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) s (fun (i : ι) => f i))) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), succ u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) R (NonUnitalNonAssocSemiring.toMul.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))))) (MvPolynomial.eval.{u3, u1} R σ _inst_1 g) (Finset.prod.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) ι (CommSemiring.toCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) s (fun (i : ι) => f i))) (Finset.prod.{u3, u2} R ι (CommSemiring.toCommMonoid.{u3} R _inst_1) s (fun (i : ι) => FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), succ u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) R (NonUnitalNonAssocSemiring.toMul.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))))) (MvPolynomial.eval.{u3, u1} R σ _inst_1 g) (f i)))
+ forall {R : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] {ι : Type.{u2}} (s : Finset.{u2} ι) (f : ι -> (MvPolynomial.{u1, u3} σ R _inst_1)) (g : σ -> R), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ R _inst_1) => R) (Finset.prod.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) ι (CommSemiring.toCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) s (fun (i : ι) => f i))) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), succ u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) R (NonUnitalNonAssocSemiring.toMul.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))))) (MvPolynomial.eval.{u3, u1} R σ _inst_1 g) (Finset.prod.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) ι (CommSemiring.toCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) s (fun (i : ι) => f i))) (Finset.prod.{u3, u2} R ι (CommSemiring.toCommMonoid.{u3} R _inst_1) s (fun (i : ι) => FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), succ u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) R (NonUnitalNonAssocSemiring.toMul.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))))) (MvPolynomial.eval.{u3, u1} R σ _inst_1 g) (f i)))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval_prod MvPolynomial.eval_prodₓ'. -/
@[to_additive]
theorem eval_prod {ι : Type _} (s : Finset ι) (f : ι → MvPolynomial σ R) (g : σ → R) :
@@ -2073,7 +2073,7 @@ theorem eval_prod {ι : Type _} (s : Finset ι) (f : ι → MvPolynomial σ R) (
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {τ : Type.{u3}} (f : σ -> (MvPolynomial.{u3, u1} τ R _inst_1)) (g : τ -> R) (p : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{succ u1} R (coeFn.{max (succ (max u2 u1)) (succ u1), max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u2, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.eval.{u1, u2} R σ _inst_1 (Function.comp.{succ u2, max (succ u3) (succ u1), succ u1} σ (MvPolynomial.{u3, u1} τ R _inst_1) R (coeFn.{max (succ (max u3 u1)) (succ u1), max (succ (max u3 u1)) (succ u1)} (RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} τ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} τ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u3, u1} τ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u3 u1, u1} (MvPolynomial.{u3, u1} τ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.eval.{u1, u3} R τ _inst_1 g)) f)) p) (coeFn.{max (succ (max u3 u1)) (succ u1), max (succ (max u3 u1)) (succ u1)} (RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} τ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} τ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u3, u1} τ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u3 u1, u1} (MvPolynomial.{u3, u1} τ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.eval.{u1, u3} R τ _inst_1 g) (MvPolynomial.eval₂.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} τ R _inst_1) σ _inst_1 (MvPolynomial.commSemiring.{u1, u3} R τ _inst_1) (MvPolynomial.C.{u1, u3} R τ _inst_1) f p))
but is expected to have type
- forall {R : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] {τ : Type.{u2}} (f : σ -> (MvPolynomial.{u2, u3} τ R _inst_1)) (g : τ -> R) (p : MvPolynomial.{u1, u3} σ R _inst_1), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ R _inst_1) => R) p) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), succ u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) R (NonUnitalNonAssocSemiring.toMul.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))))) (MvPolynomial.eval.{u3, u1} R σ _inst_1 (Function.comp.{succ u1, max (succ u3) (succ u2), succ u3} σ (MvPolynomial.{u2, u3} τ R _inst_1) R (FunLike.coe.{max (succ u3) (succ u2), max (succ u3) (succ u2), succ u3} (RingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} τ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (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) (fun (_x : MvPolynomial.{u2, u3} τ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u2, u3} τ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u3 u2, max u3 u2, u3} (RingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} τ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (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 (NonUnitalNonAssocSemiring.toMul.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, max u3 u2, u3} (RingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} τ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (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 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, max u3 u2, u3} (RingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} τ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (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 (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} τ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (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 g)) f)) p) (FunLike.coe.{max (succ u3) (succ u2), max (succ u3) (succ u2), succ u3} (RingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} τ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (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) (fun (_x : MvPolynomial.{u2, u3} τ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u2, u3} τ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u3 u2, max u3 u2, u3} (RingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} τ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (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 (NonUnitalNonAssocSemiring.toMul.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, max u3 u2, u3} (RingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} τ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (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 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, max u3 u2, u3} (RingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} τ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (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 (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} τ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (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 g) (MvPolynomial.eval₂.{u3, max u3 u2, u1} R (MvPolynomial.{u2, u3} τ R _inst_1) σ _inst_1 (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1) (MvPolynomial.C.{u3, u2} R τ _inst_1) f p))
+ forall {R : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] {τ : Type.{u2}} (f : σ -> (MvPolynomial.{u2, u3} τ R _inst_1)) (g : τ -> R) (p : MvPolynomial.{u1, u3} σ R _inst_1), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ R _inst_1) => R) p) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), succ u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) R (NonUnitalNonAssocSemiring.toMul.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))))) (MvPolynomial.eval.{u3, u1} R σ _inst_1 (Function.comp.{succ u1, max (succ u3) (succ u2), succ u3} σ (MvPolynomial.{u2, u3} τ R _inst_1) R (FunLike.coe.{max (succ u3) (succ u2), max (succ u3) (succ u2), succ u3} (RingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} τ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (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) (fun (_x : MvPolynomial.{u2, u3} τ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u2, u3} τ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u3 u2, max u3 u2, u3} (RingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} τ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (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 (NonUnitalNonAssocSemiring.toMul.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, max u3 u2, u3} (RingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} τ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (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 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, max u3 u2, u3} (RingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} τ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (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 (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} τ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (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 g)) f)) p) (FunLike.coe.{max (succ u3) (succ u2), max (succ u3) (succ u2), succ u3} (RingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} τ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (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) (fun (_x : MvPolynomial.{u2, u3} τ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u2, u3} τ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u3 u2, max u3 u2, u3} (RingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} τ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (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 (NonUnitalNonAssocSemiring.toMul.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, max u3 u2, u3} (RingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} τ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (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 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, max u3 u2, u3} (RingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} τ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (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 (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} τ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (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 g) (MvPolynomial.eval₂.{u3, max u3 u2, u1} R (MvPolynomial.{u2, u3} τ R _inst_1) σ _inst_1 (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1) (MvPolynomial.C.{u3, u2} R τ _inst_1) f p))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval_assoc MvPolynomial.eval_assocₓ'. -/
theorem eval_assoc {τ} (f : σ → MvPolynomial τ R) (g : τ → R) (p : MvPolynomial σ R) :
eval (eval g ∘ f) p = eval g (eval₂ C f p) :=
@@ -2087,7 +2087,7 @@ theorem eval_assoc {τ} (f : σ → MvPolynomial τ R) (g : τ → R) (p : MvPol
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (p : MvPolynomial.{u2, u1} σ R _inst_1) (g : σ -> R), Eq.{succ u1} R (MvPolynomial.eval₂.{u1, u1, u2} R R σ _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) g p) (coeFn.{max (succ (max u2 u1)) (succ u1), max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u2, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.eval.{u1, u2} R σ _inst_1 g) p)
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {p : σ -> R} (g : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u2} R (MvPolynomial.eval₂.{u2, u2, u1} R R σ _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) p g) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (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) => R) _x) (MulHomClass.toFunLike.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.eval.{u2, u1} R σ _inst_1 p) g)
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {p : σ -> R} (g : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u2} R (MvPolynomial.eval₂.{u2, u2, u1} R R σ _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) p g) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.eval.{u2, u1} R σ _inst_1 p) g)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_id MvPolynomial.eval₂_idₓ'. -/
@[simp]
theorem eval₂_id (p : MvPolynomial σ R) (g : σ → R) : eval₂ (RingHom.id _) g p = eval g p :=
@@ -2098,7 +2098,7 @@ theorem eval₂_id (p : MvPolynomial σ R) (g : σ → R) : eval₂ (RingHom.id
lean 3 declaration is
forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] {τ : Type.{u4}} (f : RingHom.{u1, max u4 u2} R (MvPolynomial.{u4, u2} τ S₁ _inst_2) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} τ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} τ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ τ _inst_2)))) (g : σ -> (MvPolynomial.{u4, u2} τ S₁ _inst_2)) (p : MvPolynomial.{u3, u1} σ R _inst_1) (x : τ -> S₁), Eq.{succ u2} S₁ (coeFn.{max (succ (max u4 u2)) (succ u2), max (succ (max u4 u2)) (succ u2)} (RingHom.{max u4 u2, u2} (MvPolynomial.{u4, u2} τ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} τ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} τ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ τ _inst_2))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{max u4 u2, u2} (MvPolynomial.{u4, u2} τ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} τ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} τ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ τ _inst_2))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => (MvPolynomial.{u4, u2} τ S₁ _inst_2) -> S₁) (RingHom.hasCoeToFun.{max u4 u2, u2} (MvPolynomial.{u4, u2} τ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} τ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} τ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ τ _inst_2))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (MvPolynomial.eval.{u2, u4} S₁ τ _inst_2 x) (MvPolynomial.eval₂.{u1, max u4 u2, u3} R (MvPolynomial.{u4, u2} τ S₁ _inst_2) σ _inst_1 (MvPolynomial.commSemiring.{u2, u4} S₁ τ _inst_2) f g p)) (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 (RingHom.comp.{u1, max u4 u2, u2} R (MvPolynomial.{u4, u2} τ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} τ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} τ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ τ _inst_2))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (MvPolynomial.eval.{u2, u4} S₁ τ _inst_2 x) f) (fun (s : σ) => coeFn.{max (succ (max u4 u2)) (succ u2), max (succ (max u4 u2)) (succ u2)} (RingHom.{max u4 u2, u2} (MvPolynomial.{u4, u2} τ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} τ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} τ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ τ _inst_2))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{max u4 u2, u2} (MvPolynomial.{u4, u2} τ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} τ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} τ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ τ _inst_2))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => (MvPolynomial.{u4, u2} τ S₁ _inst_2) -> S₁) (RingHom.hasCoeToFun.{max u4 u2, u2} (MvPolynomial.{u4, u2} τ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} τ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} τ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ τ _inst_2))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (MvPolynomial.eval.{u2, u4} S₁ τ _inst_2 x) (g s)) p)
but is expected to have type
- forall {R : Type.{u4}} {S₁ : Type.{u1}} {σ : Type.{u3}} {_inst_1 : Type.{u2}} {_inst_2 : _inst_1 -> σ} [τ : CommSemiring.{u4} R] [f : CommSemiring.{u3} σ] (g : RingHom.{u4, max u3 u2} R (MvPolynomial.{u2, u3} _inst_1 σ f) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R τ)) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f)))) (p : S₁ -> (MvPolynomial.{u2, u3} _inst_1 σ f)) (x : MvPolynomial.{u1, u4} S₁ R τ), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u2, u3} _inst_1 σ f) => σ) (MvPolynomial.eval₂.{u4, max u2 u3, u1} R (MvPolynomial.{u2, u3} _inst_1 σ f) S₁ τ (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f) g p x)) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), succ u3} (RingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} _inst_1 σ f) σ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ f))) (MvPolynomial.{u2, u3} _inst_1 σ f) (fun (_x : MvPolynomial.{u2, u3} _inst_1 σ f) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u2, u3} _inst_1 σ f) => σ) _x) (MulHomClass.toFunLike.{max u2 u3, max u2 u3, u3} (RingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} _inst_1 σ f) σ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ f))) (MvPolynomial.{u2, u3} _inst_1 σ f) σ (NonUnitalNonAssocSemiring.toMul.{max u2 u3} (MvPolynomial.{u2, u3} _inst_1 σ f) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (MvPolynomial.{u2, u3} _inst_1 σ f) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f))))) (NonUnitalNonAssocSemiring.toMul.{u3} σ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} σ (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ f)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, max u2 u3, u3} (RingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} _inst_1 σ f) σ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ f))) (MvPolynomial.{u2, u3} _inst_1 σ f) σ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (MvPolynomial.{u2, u3} _inst_1 σ f) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} σ (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ f))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, max u2 u3, u3} (RingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} _inst_1 σ f) σ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ f))) (MvPolynomial.{u2, u3} _inst_1 σ f) σ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ f)) (RingHom.instRingHomClassRingHom.{max u2 u3, u3} (MvPolynomial.{u2, u3} _inst_1 σ f) σ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ f)))))) (MvPolynomial.eval.{u3, u2} σ _inst_1 f _inst_2) (MvPolynomial.eval₂.{u4, max u2 u3, u1} R (MvPolynomial.{u2, u3} _inst_1 σ f) S₁ τ (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f) g p x)) (MvPolynomial.eval₂.{u4, u3, u1} R σ S₁ τ f (RingHom.comp.{u4, max u3 u2, u3} R (MvPolynomial.{u2, u3} _inst_1 σ f) σ (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R τ)) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ f)) (MvPolynomial.eval.{u3, u2} σ _inst_1 f _inst_2) g) (fun (s : S₁) => FunLike.coe.{max (succ u3) (succ u2), max (succ u3) (succ u2), succ u3} (RingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} _inst_1 σ f) σ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ f))) (MvPolynomial.{u2, u3} _inst_1 σ f) (fun (_x : MvPolynomial.{u2, u3} _inst_1 σ f) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u2, u3} _inst_1 σ f) => σ) _x) (MulHomClass.toFunLike.{max u3 u2, max u3 u2, u3} (RingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} _inst_1 σ f) σ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ f))) (MvPolynomial.{u2, u3} _inst_1 σ f) σ (NonUnitalNonAssocSemiring.toMul.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f))))) (NonUnitalNonAssocSemiring.toMul.{u3} σ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} σ (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ f)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, max u3 u2, u3} (RingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} _inst_1 σ f) σ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ f))) (MvPolynomial.{u2, u3} _inst_1 σ f) σ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} σ (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ f))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, max u3 u2, u3} (RingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} _inst_1 σ f) σ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ f))) (MvPolynomial.{u2, u3} _inst_1 σ f) σ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ f)) (RingHom.instRingHomClassRingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} _inst_1 σ f) σ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ f)))))) (MvPolynomial.eval.{u3, u2} σ _inst_1 f _inst_2) (p s)) x)
+ forall {R : Type.{u4}} {S₁ : Type.{u1}} {σ : Type.{u3}} {_inst_1 : Type.{u2}} {_inst_2 : _inst_1 -> σ} [τ : CommSemiring.{u4} R] [f : CommSemiring.{u3} σ] (g : RingHom.{u4, max u3 u2} R (MvPolynomial.{u2, u3} _inst_1 σ f) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R τ)) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f)))) (p : S₁ -> (MvPolynomial.{u2, u3} _inst_1 σ f)) (x : MvPolynomial.{u1, u4} S₁ R τ), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u2, u3} _inst_1 σ f) => σ) (MvPolynomial.eval₂.{u4, max u2 u3, u1} R (MvPolynomial.{u2, u3} _inst_1 σ f) S₁ τ (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f) g p x)) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), succ u3} (RingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} _inst_1 σ f) σ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ f))) (MvPolynomial.{u2, u3} _inst_1 σ f) (fun (_x : MvPolynomial.{u2, u3} _inst_1 σ f) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u2, u3} _inst_1 σ f) => σ) _x) (MulHomClass.toFunLike.{max u2 u3, max u2 u3, u3} (RingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} _inst_1 σ f) σ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ f))) (MvPolynomial.{u2, u3} _inst_1 σ f) σ (NonUnitalNonAssocSemiring.toMul.{max u2 u3} (MvPolynomial.{u2, u3} _inst_1 σ f) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (MvPolynomial.{u2, u3} _inst_1 σ f) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f))))) (NonUnitalNonAssocSemiring.toMul.{u3} σ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} σ (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ f)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, max u2 u3, u3} (RingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} _inst_1 σ f) σ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ f))) (MvPolynomial.{u2, u3} _inst_1 σ f) σ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (MvPolynomial.{u2, u3} _inst_1 σ f) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} σ (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ f))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, max u2 u3, u3} (RingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} _inst_1 σ f) σ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ f))) (MvPolynomial.{u2, u3} _inst_1 σ f) σ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ f)) (RingHom.instRingHomClassRingHom.{max u2 u3, u3} (MvPolynomial.{u2, u3} _inst_1 σ f) σ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ f)))))) (MvPolynomial.eval.{u3, u2} σ _inst_1 f _inst_2) (MvPolynomial.eval₂.{u4, max u2 u3, u1} R (MvPolynomial.{u2, u3} _inst_1 σ f) S₁ τ (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f) g p x)) (MvPolynomial.eval₂.{u4, u3, u1} R σ S₁ τ f (RingHom.comp.{u4, max u3 u2, u3} R (MvPolynomial.{u2, u3} _inst_1 σ f) σ (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R τ)) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ f)) (MvPolynomial.eval.{u3, u2} σ _inst_1 f _inst_2) g) (fun (s : S₁) => FunLike.coe.{max (succ u3) (succ u2), max (succ u3) (succ u2), succ u3} (RingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} _inst_1 σ f) σ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ f))) (MvPolynomial.{u2, u3} _inst_1 σ f) (fun (_x : MvPolynomial.{u2, u3} _inst_1 σ f) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u2, u3} _inst_1 σ f) => σ) _x) (MulHomClass.toFunLike.{max u3 u2, max u3 u2, u3} (RingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} _inst_1 σ f) σ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ f))) (MvPolynomial.{u2, u3} _inst_1 σ f) σ (NonUnitalNonAssocSemiring.toMul.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f))))) (NonUnitalNonAssocSemiring.toMul.{u3} σ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} σ (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ f)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, max u3 u2, u3} (RingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} _inst_1 σ f) σ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ f))) (MvPolynomial.{u2, u3} _inst_1 σ f) σ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} σ (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ f))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, max u3 u2, u3} (RingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} _inst_1 σ f) σ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ f))) (MvPolynomial.{u2, u3} _inst_1 σ f) σ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ f)) (RingHom.instRingHomClassRingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} _inst_1 σ f) σ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ f)))))) (MvPolynomial.eval.{u3, u2} σ _inst_1 f _inst_2) (p s)) x)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval_eval₂ MvPolynomial.eval_eval₂ₓ'. -/
theorem eval_eval₂ {τ : Type _} (f : R →+* MvPolynomial τ S₁) (g : σ → MvPolynomial τ S₁)
(p : MvPolynomial σ R) (x : τ → S₁) :
@@ -2129,7 +2129,7 @@ def map : MvPolynomial σ R →+* MvPolynomial σ S₁ :=
lean 3 declaration is
forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (s : Finsupp.{u3, 0} σ Nat Nat.hasZero) (a : R), Eq.{max (succ u3) (succ u2)} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (coeFn.{max (succ (max u3 u1)) (succ (max u3 u2)), max (succ (max u3 u1)) (succ (max u3 u2))} (RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (fun (_x : RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> (MvPolynomial.{u3, u2} σ S₁ _inst_2)) (RingHom.hasCoeToFun.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (MvPolynomial.map.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f) (coeFn.{max (succ u1) (succ (max u3 u1)), max (succ u1) (succ (max u3 u1))} (LinearMap.{u1, u1, u1, max u3 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u3 u1} 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 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))))) (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 -> (MvPolynomial.{u3, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) a)) (coeFn.{max (succ u2) (succ (max u3 u2)), max (succ u2) (succ (max u3 u2))} (LinearMap.{u2, u2, u2, max u3 u2} S₁ S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (RingHom.id.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) S₁ (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))))) (Semiring.toModule.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (MvPolynomial.module.{u2, u2, u3} S₁ S₁ σ (CommSemiring.toSemiring.{u2} S₁ _inst_2) _inst_2 (Semiring.toModule.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))) (fun (_x : LinearMap.{u2, u2, u2, max u3 u2} S₁ S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (RingHom.id.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) S₁ (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))))) (Semiring.toModule.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (MvPolynomial.module.{u2, u2, u3} S₁ S₁ σ (CommSemiring.toSemiring.{u2} S₁ _inst_2) _inst_2 (Semiring.toModule.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))) => S₁ -> (MvPolynomial.{u3, u2} σ S₁ _inst_2)) (LinearMap.hasCoeToFun.{u2, u2, u2, max u3 u2} S₁ S₁ S₁ (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))))) (Semiring.toModule.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (MvPolynomial.module.{u2, u2, u3} S₁ S₁ σ (CommSemiring.toSemiring.{u2} S₁ _inst_2) _inst_2 (Semiring.toModule.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (RingHom.id.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))) (MvPolynomial.monomial.{u2, u3} S₁ σ _inst_2 s) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) f a))
but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (a : R), Eq.{max (succ u3) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, 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) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a)) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearMap.{u3, u3, u3, max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (RingHom.id.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) σ _inst_2))))) (Semiring.toModule.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2)) (MvPolynomial.module.{u3, u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) σ (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) _inst_2 (Semiring.toModule.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2)))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) => MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u3, max u1 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) σ _inst_2))))) (Semiring.toModule.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2)) (MvPolynomial.module.{u3, u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) σ (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) _inst_2 (Semiring.toModule.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2))) (RingHom.id.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2)))) (MvPolynomial.monomial.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) σ _inst_2 s) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f a))
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (a : R), Eq.{max (succ u3) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a)) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearMap.{u3, u3, u3, max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (RingHom.id.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) σ _inst_2))))) (Semiring.toModule.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2)) (MvPolynomial.module.{u3, u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) σ (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) _inst_2 (Semiring.toModule.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2)))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) => MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u3, max u1 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) σ _inst_2))))) (Semiring.toModule.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2)) (MvPolynomial.module.{u3, u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) σ (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) _inst_2 (Semiring.toModule.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2))) (RingHom.id.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2)))) (MvPolynomial.monomial.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) σ _inst_2 s) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f a))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.map_monomial MvPolynomial.map_monomialₓ'. -/
@[simp]
theorem map_monomial (s : σ →₀ ℕ) (a : R) : map f (monomial s a) = monomial s (f a) :=
@@ -2140,7 +2140,7 @@ theorem map_monomial (s : σ →₀ ℕ) (a : R) : map f (monomial s a) = monomi
lean 3 declaration is
forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (a : R), Eq.{max (succ u3) (succ u2)} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (coeFn.{max (succ (max u3 u1)) (succ (max u3 u2)), max (succ (max u3 u1)) (succ (max u3 u2))} (RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (fun (_x : RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> (MvPolynomial.{u3, u2} σ S₁ _inst_2)) (RingHom.hasCoeToFun.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (MvPolynomial.map.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f) (coeFn.{max (succ u1) (succ (max u3 u1)), max (succ u1) (succ (max u3 u1))} (RingHom.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u3, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u3} R σ _inst_1) a)) (coeFn.{max (succ u2) (succ (max u3 u2)), max (succ u2) (succ (max u3 u2))} (RingHom.{u2, max u3 u2} S₁ (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (fun (_x : RingHom.{u2, max u3 u2} S₁ (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) => S₁ -> (MvPolynomial.{u3, u2} σ S₁ _inst_2)) (RingHom.hasCoeToFun.{u2, max u3 u2} S₁ (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (MvPolynomial.C.{u2, u3} S₁ σ _inst_2) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) f a))
but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (a : R), Eq.{max (succ u3) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) (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) a)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, 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) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 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) a)) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (RingHom.{u3, max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) σ _inst_2)))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) => MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) _x) (MulHomClass.toFunLike.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) σ _inst_2)))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (NonUnitalNonAssocSemiring.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{max u1 u3} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) σ _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) σ _inst_2)))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) σ _inst_2)))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) σ _inst_2)))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) σ _inst_2))) (RingHom.instRingHomClassRingHom.{u3, max u1 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) σ _inst_2))))))) (MvPolynomial.C.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) σ _inst_2) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f a))
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (a : R), Eq.{max (succ u3) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.2397 : 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) a)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 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.2397 : 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) a)) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (RingHom.{u3, max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) σ _inst_2)))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) => MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) _x) (MulHomClass.toFunLike.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) σ _inst_2)))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (NonUnitalNonAssocSemiring.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{max u1 u3} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) σ _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) σ _inst_2)))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) σ _inst_2)))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) σ _inst_2)))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) σ _inst_2))) (RingHom.instRingHomClassRingHom.{u3, max u1 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) σ _inst_2))))))) (MvPolynomial.C.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) a) σ _inst_2) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f a))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.map_C MvPolynomial.map_Cₓ'. -/
@[simp]
theorem map_C : ∀ a : R, map f (C a : MvPolynomial σ R) = C (f a) :=
@@ -2151,7 +2151,7 @@ theorem map_C : ∀ a : R, map f (C a : MvPolynomial σ R) = C (f a) :=
lean 3 declaration is
forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (n : σ), Eq.{max (succ u3) (succ u2)} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (coeFn.{max (succ (max u3 u1)) (succ (max u3 u2)), max (succ (max u3 u1)) (succ (max u3 u2))} (RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (fun (_x : RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> (MvPolynomial.{u3, u2} σ S₁ _inst_2)) (RingHom.hasCoeToFun.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (MvPolynomial.map.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f) (MvPolynomial.X.{u1, u3} R σ _inst_1 n)) (MvPolynomial.X.{u2, u3} S₁ σ _inst_2 n)
but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (n : σ), Eq.{max (succ u3) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.X.{u2, u1} R σ _inst_1 n)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, 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) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f) (MvPolynomial.X.{u2, u1} R σ _inst_1 n)) (MvPolynomial.X.{u3, u1} S₁ σ _inst_2 n)
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (n : σ), Eq.{max (succ u3) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.X.{u2, u1} R σ _inst_1 n)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f) (MvPolynomial.X.{u2, u1} R σ _inst_1 n)) (MvPolynomial.X.{u3, u1} S₁ σ _inst_2 n)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.map_X MvPolynomial.map_Xₓ'. -/
@[simp]
theorem map_X : ∀ n : σ, map f (X n : MvPolynomial σ R) = X n :=
@@ -2162,7 +2162,7 @@ theorem map_X : ∀ n : σ, map f (X n : MvPolynomial σ R) = X n :=
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (p : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{succ (max u2 u1), succ (max u2 u1)} (RingHom.{max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (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))) (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)))) (fun (_x : RingHom.{max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (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))) (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)))) => (MvPolynomial.{u2, u1} σ R _inst_1) -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (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))) (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)))) (MvPolynomial.map.{u1, u1, u2} R R σ _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) p) p
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u2} σ R _inst_1) p) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (RingHom.{max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (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))) (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.{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) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (MulHomClass.toFunLike.{max u2 u1, max u2 u1, max u2 u1} (RingHom.{max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (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))) (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.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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 u2 u1, max u2 u1, max u2 u1} (RingHom.{max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (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))) (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.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{max u2 u1} (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 u2 u1, max u2 u1, max u2 u1} (RingHom.{max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (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))) (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.{u1, u2} σ R _inst_1) (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))) (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.{max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (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))) (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.map.{u2, u2, u1} R R σ _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) p) p
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u2} σ R _inst_1) p) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (RingHom.{max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (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))) (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.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (MulHomClass.toFunLike.{max u2 u1, max u2 u1, max u2 u1} (RingHom.{max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (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))) (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.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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 u2 u1, max u2 u1, max u2 u1} (RingHom.{max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (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))) (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.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{max u2 u1} (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 u2 u1, max u2 u1, max u2 u1} (RingHom.{max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (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))) (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.{u1, u2} σ R _inst_1) (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))) (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.{max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (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))) (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.map.{u2, u2, u1} R R σ _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) p) p
Case conversion may be inaccurate. Consider using '#align mv_polynomial.map_id MvPolynomial.map_idₓ'. -/
theorem map_id : ∀ p : MvPolynomial σ R, map (RingHom.id R) p = p :=
eval₂_eta
@@ -2172,7 +2172,7 @@ theorem map_id : ∀ p : MvPolynomial σ R, map (RingHom.id R) p = p :=
lean 3 declaration is
forall {R : Type.{u1}} {S₁ : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u4}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) [_inst_3 : CommSemiring.{u3} S₂] (g : RingHom.{u2, u3} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))) (p : MvPolynomial.{u4, u1} σ R _inst_1), Eq.{max (succ u4) (succ u3)} (MvPolynomial.{u4, u3} σ S₂ _inst_3) (coeFn.{max (succ (max u4 u2)) (succ (max u4 u3)), max (succ (max u4 u2)) (succ (max u4 u3))} (RingHom.{max u4 u2, max u4 u3} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.{u4, u3} σ S₂ _inst_3) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u3, u4} S₂ σ _inst_3)))) (fun (_x : RingHom.{max u4 u2, max u4 u3} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.{u4, u3} σ S₂ _inst_3) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u3, u4} S₂ σ _inst_3)))) => (MvPolynomial.{u4, u2} σ S₁ _inst_2) -> (MvPolynomial.{u4, u3} σ S₂ _inst_3)) (RingHom.hasCoeToFun.{max u4 u2, max u4 u3} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.{u4, u3} σ S₂ _inst_3) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u3, u4} S₂ σ _inst_3)))) (MvPolynomial.map.{u2, u3, u4} S₁ S₂ σ _inst_2 _inst_3 g) (coeFn.{max (succ (max u4 u1)) (succ (max u4 u2)), max (succ (max u4 u1)) (succ (max u4 u2))} (RingHom.{max u4 u1, max u4 u2} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.{u4, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ σ _inst_2)))) (fun (_x : RingHom.{max u4 u1, max u4 u2} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.{u4, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ σ _inst_2)))) => (MvPolynomial.{u4, u1} σ R _inst_1) -> (MvPolynomial.{u4, u2} σ S₁ _inst_2)) (RingHom.hasCoeToFun.{max u4 u1, max u4 u2} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.{u4, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ σ _inst_2)))) (MvPolynomial.map.{u1, u2, u4} R S₁ σ _inst_1 _inst_2 f) p)) (coeFn.{max (succ (max u4 u1)) (succ (max u4 u3)), max (succ (max u4 u1)) (succ (max u4 u3))} (RingHom.{max u4 u1, max u4 u3} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.{u4, u3} σ S₂ _inst_3) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u3, u4} S₂ σ _inst_3)))) (fun (_x : RingHom.{max u4 u1, max u4 u3} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.{u4, u3} σ S₂ _inst_3) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u3, u4} S₂ σ _inst_3)))) => (MvPolynomial.{u4, u1} σ R _inst_1) -> (MvPolynomial.{u4, u3} σ S₂ _inst_3)) (RingHom.hasCoeToFun.{max u4 u1, max u4 u3} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.{u4, u3} σ S₂ _inst_3) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u3, u4} S₂ σ _inst_3)))) (MvPolynomial.map.{u1, u3, u4} R S₂ σ _inst_1 _inst_3 (RingHom.comp.{u1, u2, u3} R S₁ S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3)) g f)) p)
but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {S₂ : Type.{u4}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) [_inst_3 : CommSemiring.{u4} S₂] (g : RingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{max (succ u4) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => MvPolynomial.{u1, u4} σ S₂ _inst_3) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (fun (a : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f) p)) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u1), max (succ u3) (succ u1), max (succ u4) (succ u1)} (RingHom.{max u3 u1, max u4 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u4} σ S₂ _inst_3) (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))) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3)))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (fun (_x : MvPolynomial.{u1, u3} σ S₁ _inst_2) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => MvPolynomial.{u1, u4} σ S₂ _inst_3) _x) (MulHomClass.toFunLike.{max (max u3 u4) u1, max u3 u1, max u4 u1} (RingHom.{max u3 u1, max u4 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u4} σ S₂ _inst_3) (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))) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3)))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u4} σ S₂ _inst_3) (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))))) (NonUnitalNonAssocSemiring.toMul.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3))))) (NonUnitalRingHomClass.toMulHomClass.{max (max u3 u4) u1, max u3 u1, max u4 u1} (RingHom.{max u3 u1, max u4 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u4} σ S₂ _inst_3) (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))) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3)))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u4} σ S₂ _inst_3) (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)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3)))) (RingHomClass.toNonUnitalRingHomClass.{max (max u3 u4) u1, max u3 u1, max u4 u1} (RingHom.{max u3 u1, max u4 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u4} σ S₂ _inst_3) (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))) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3)))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u4} σ S₂ _inst_3) (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))) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3))) (RingHom.instRingHomClassRingHom.{max u3 u1, max u4 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u4} σ S₂ _inst_3) (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))) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3))))))) (MvPolynomial.map.{u3, u4, u1} S₁ S₂ σ _inst_2 _inst_3 g) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, 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) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f) p)) (FunLike.coe.{max (max (succ u2) (succ u4)) (succ u1), max (succ u2) (succ u1), max (succ u4) (succ u1)} (RingHom.{max u2 u1, max u4 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u4} σ S₂ _inst_3) (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.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3)))) (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) => MvPolynomial.{u1, u4} σ S₂ _inst_3) _x) (MulHomClass.toFunLike.{max (max u2 u4) u1, max u2 u1, max u4 u1} (RingHom.{max u2 u1, max u4 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u4} σ S₂ _inst_3) (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.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3)))) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u4} σ S₂ _inst_3) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3))))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u4) u1, max u2 u1, max u4 u1} (RingHom.{max u2 u1, max u4 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u4} σ S₂ _inst_3) (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.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3)))) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u4} σ S₂ _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3)))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u4) u1, max u2 u1, max u4 u1} (RingHom.{max u2 u1, max u4 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u4} σ S₂ _inst_3) (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.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3)))) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u4} σ S₂ _inst_3) (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.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3))) (RingHom.instRingHomClassRingHom.{max u2 u1, max u4 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u4} σ S₂ _inst_3) (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.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3))))))) (MvPolynomial.map.{u2, u4, u1} R S₂ σ _inst_1 _inst_3 (RingHom.comp.{u2, u3, u4} R S₁ S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)) g f)) p)
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {S₂ : Type.{u4}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) [_inst_3 : CommSemiring.{u4} S₂] (g : RingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{max (succ u4) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => MvPolynomial.{u1, u4} σ S₂ _inst_3) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (fun (a : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f) p)) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u1), max (succ u3) (succ u1), max (succ u4) (succ u1)} (RingHom.{max u3 u1, max u4 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u4} σ S₂ _inst_3) (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))) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3)))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (fun (_x : MvPolynomial.{u1, u3} σ S₁ _inst_2) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => MvPolynomial.{u1, u4} σ S₂ _inst_3) _x) (MulHomClass.toFunLike.{max (max u3 u4) u1, max u3 u1, max u4 u1} (RingHom.{max u3 u1, max u4 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u4} σ S₂ _inst_3) (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))) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3)))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u4} σ S₂ _inst_3) (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))))) (NonUnitalNonAssocSemiring.toMul.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3))))) (NonUnitalRingHomClass.toMulHomClass.{max (max u3 u4) u1, max u3 u1, max u4 u1} (RingHom.{max u3 u1, max u4 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u4} σ S₂ _inst_3) (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))) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3)))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u4} σ S₂ _inst_3) (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)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3)))) (RingHomClass.toNonUnitalRingHomClass.{max (max u3 u4) u1, max u3 u1, max u4 u1} (RingHom.{max u3 u1, max u4 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u4} σ S₂ _inst_3) (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))) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3)))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u4} σ S₂ _inst_3) (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))) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3))) (RingHom.instRingHomClassRingHom.{max u3 u1, max u4 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u4} σ S₂ _inst_3) (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))) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3))))))) (MvPolynomial.map.{u3, u4, u1} S₁ S₂ σ _inst_2 _inst_3 g) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f) p)) (FunLike.coe.{max (max (succ u2) (succ u4)) (succ u1), max (succ u2) (succ u1), max (succ u4) (succ u1)} (RingHom.{max u2 u1, max u4 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u4} σ S₂ _inst_3) (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.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3)))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u4} σ S₂ _inst_3) _x) (MulHomClass.toFunLike.{max (max u2 u4) u1, max u2 u1, max u4 u1} (RingHom.{max u2 u1, max u4 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u4} σ S₂ _inst_3) (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.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3)))) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u4} σ S₂ _inst_3) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3))))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u4) u1, max u2 u1, max u4 u1} (RingHom.{max u2 u1, max u4 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u4} σ S₂ _inst_3) (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.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3)))) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u4} σ S₂ _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3)))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u4) u1, max u2 u1, max u4 u1} (RingHom.{max u2 u1, max u4 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u4} σ S₂ _inst_3) (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.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3)))) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u4} σ S₂ _inst_3) (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.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3))) (RingHom.instRingHomClassRingHom.{max u2 u1, max u4 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u4} σ S₂ _inst_3) (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.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3))))))) (MvPolynomial.map.{u2, u4, u1} R S₂ σ _inst_1 _inst_3 (RingHom.comp.{u2, u3, u4} R S₁ S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)) g f)) p)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.map_map MvPolynomial.map_mapₓ'. -/
theorem map_map [CommSemiring S₂] (g : S₁ →+* S₂) (p : MvPolynomial σ R) :
map g (map f p) = map (g.comp f) p :=
@@ -2189,7 +2189,7 @@ theorem map_map [CommSemiring S₂] (g : S₁ →+* S₂) (p : MvPolynomial σ R
lean 3 declaration is
forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : σ -> S₁) (p : MvPolynomial.{u3, u1} σ R _inst_1), Eq.{succ u2} S₁ (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g p) (coeFn.{max (succ (max u3 u2)) (succ u2), max (succ (max u3 u2)) (succ u2)} (RingHom.{max u3 u2, u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{max u3 u2, u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => (MvPolynomial.{u3, u2} σ S₁ _inst_2) -> S₁) (RingHom.hasCoeToFun.{max u3 u2, u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (MvPolynomial.eval.{u2, u3} S₁ σ _inst_2 g) (coeFn.{max (succ (max u3 u1)) (succ (max u3 u2)), max (succ (max u3 u1)) (succ (max u3 u2))} (RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (fun (_x : RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> (MvPolynomial.{u3, u2} σ S₁ _inst_2)) (RingHom.hasCoeToFun.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (MvPolynomial.map.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f) p))
but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} S₁ (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g p) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), succ u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (fun (_x : MvPolynomial.{u1, u3} σ S₁ _inst_2) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) _x) (MulHomClass.toFunLike.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (MvPolynomial.eval.{u3, u1} S₁ σ _inst_2 g) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, 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) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f) p))
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} S₁ (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g p) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), succ u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (fun (_x : MvPolynomial.{u1, u3} σ S₁ _inst_2) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) _x) (MulHomClass.toFunLike.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (MvPolynomial.eval.{u3, u1} S₁ σ _inst_2 g) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f) p))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_eq_eval_map MvPolynomial.eval₂_eq_eval_mapₓ'. -/
theorem eval₂_eq_eval_map (g : σ → S₁) (p : MvPolynomial σ R) : p.eval₂ f g = eval g (map f p) :=
by
@@ -2208,7 +2208,7 @@ theorem eval₂_eq_eval_map (g : σ → S₁) (p : MvPolynomial σ R) : p.eval
lean 3 declaration is
forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] {S₂ : Type.{u4}} [_inst_3 : CommSemiring.{u4} S₂] (k : RingHom.{u2, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : σ -> S₁) (p : MvPolynomial.{u3, u1} σ R _inst_1), Eq.{succ u4} S₂ (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (RingHom.{u2, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) (fun (_x : RingHom.{u2, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) => S₁ -> S₂) (RingHom.hasCoeToFun.{u2, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) k (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g p)) (MvPolynomial.eval₂.{u2, u4, u3} S₁ S₂ σ _inst_2 _inst_3 k (Function.comp.{succ u3, succ u2, succ u4} σ S₁ S₂ (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (RingHom.{u2, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) (fun (_x : RingHom.{u2, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) => S₁ -> S₂) (RingHom.hasCoeToFun.{u2, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) k) g) (coeFn.{max (succ (max u3 u1)) (succ (max u3 u2)), max (succ (max u3 u1)) (succ (max u3 u2))} (RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (fun (_x : RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> (MvPolynomial.{u3, u2} σ S₁ _inst_2)) (RingHom.hasCoeToFun.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (MvPolynomial.map.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f) p))
but is expected to have type
- forall {R : Type.{u3}} {S₁ : Type.{u4}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] [_inst_2 : CommSemiring.{u4} S₁] {S₂ : Type.{u2}} [_inst_3 : CommSemiring.{u2} S₂] (k : RingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) (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 : σ -> S₁) (p : MvPolynomial.{u1, u3} σ R _inst_1), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S₁) => S₂) (MvPolynomial.eval₂.{u3, u4, u1} R S₁ σ _inst_1 _inst_2 f g p)) (FunLike.coe.{max (succ u4) (succ u2), succ u4, succ u2} (RingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) S₁ (fun (_x : S₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S₁) => S₂) _x) (MulHomClass.toFunLike.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) S₁ S₂ (NonUnitalNonAssocSemiring.toMul.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{u2} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) S₁ S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3)) (RingHom.instRingHomClassRingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3)))))) k (MvPolynomial.eval₂.{u3, u4, u1} R S₁ σ _inst_1 _inst_2 f g p)) (MvPolynomial.eval₂.{u4, u2, u1} S₁ S₂ σ _inst_2 _inst_3 k (Function.comp.{succ u1, succ u4, succ u2} σ S₁ S₂ (FunLike.coe.{max (succ u4) (succ u2), succ u4, succ u2} (RingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) S₁ (fun (_x : S₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S₁) => S₂) _x) (MulHomClass.toFunLike.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) S₁ S₂ (NonUnitalNonAssocSemiring.toMul.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{u2} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) S₁ S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3)) (RingHom.instRingHomClassRingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3)))))) k) g) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u1), max (succ u3) (succ u1), max (succ u4) (succ u1)} (RingHom.{max u3 u1, max u4 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u1, u4} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u4, u1} S₁ σ _inst_2)))) (MvPolynomial.{u1, u3} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ R _inst_1) => MvPolynomial.{u1, u4} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u3 u4) u1, max u3 u1, max u4 u1} (RingHom.{max u3 u1, max u4 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u1, u4} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u1} (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) (NonUnitalNonAssocSemiring.toMul.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{max u4 u1} (MvPolynomial.{u1, u4} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u4, u1} S₁ σ _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{max (max u3 u4) u1, max u3 u1, max u4 u1} (RingHom.{max u3 u1, max u4 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u1, u4} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u1} (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) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u4, u1} S₁ σ _inst_2)))) (RingHomClass.toNonUnitalRingHomClass.{max (max u3 u4) u1, max u3 u1, max u4 u1} (RingHom.{max u3 u1, max u4 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u1, u4} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u1} (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) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u4, u1} S₁ σ _inst_2))) (RingHom.instRingHomClassRingHom.{max u3 u1, max u4 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u1, u4} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u1} (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))
+ forall {R : Type.{u3}} {S₁ : Type.{u4}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] [_inst_2 : CommSemiring.{u4} S₁] {S₂ : Type.{u2}} [_inst_3 : CommSemiring.{u2} S₂] (k : RingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) (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 : σ -> S₁) (p : MvPolynomial.{u1, u3} σ R _inst_1), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S₁) => S₂) (MvPolynomial.eval₂.{u3, u4, u1} R S₁ σ _inst_1 _inst_2 f g p)) (FunLike.coe.{max (succ u4) (succ u2), succ u4, succ u2} (RingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) S₁ (fun (_x : S₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S₁) => S₂) _x) (MulHomClass.toFunLike.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) S₁ S₂ (NonUnitalNonAssocSemiring.toMul.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{u2} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) S₁ S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3)) (RingHom.instRingHomClassRingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3)))))) k (MvPolynomial.eval₂.{u3, u4, u1} R S₁ σ _inst_1 _inst_2 f g p)) (MvPolynomial.eval₂.{u4, u2, u1} S₁ S₂ σ _inst_2 _inst_3 k (Function.comp.{succ u1, succ u4, succ u2} σ S₁ S₂ (FunLike.coe.{max (succ u4) (succ u2), succ u4, succ u2} (RingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) S₁ (fun (_x : S₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S₁) => S₂) _x) (MulHomClass.toFunLike.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) S₁ S₂ (NonUnitalNonAssocSemiring.toMul.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{u2} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) S₁ S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3)) (RingHom.instRingHomClassRingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3)))))) k) g) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u1), max (succ u3) (succ u1), max (succ u4) (succ u1)} (RingHom.{max u3 u1, max u4 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u1, u4} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u4, u1} S₁ σ _inst_2)))) (MvPolynomial.{u1, u3} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ R _inst_1) => MvPolynomial.{u1, u4} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u3 u4) u1, max u3 u1, max u4 u1} (RingHom.{max u3 u1, max u4 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u1, u4} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u1} (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) (NonUnitalNonAssocSemiring.toMul.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{max u4 u1} (MvPolynomial.{u1, u4} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u4, u1} S₁ σ _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{max (max u3 u4) u1, max u3 u1, max u4 u1} (RingHom.{max u3 u1, max u4 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u1, u4} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u1} (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) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u4, u1} S₁ σ _inst_2)))) (RingHomClass.toNonUnitalRingHomClass.{max (max u3 u4) u1, max u3 u1, max u4 u1} (RingHom.{max u3 u1, max u4 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u1, u4} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u1} (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) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u4, u1} S₁ σ _inst_2))) (RingHom.instRingHomClassRingHom.{max u3 u1, max u4 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u1, u4} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u1} (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))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_comp_right MvPolynomial.eval₂_comp_rightₓ'. -/
theorem eval₂_comp_right {S₂} [CommSemiring S₂] (k : S₁ →+* S₂) (f : R →+* S₁) (g : σ → S₁) (p) :
k (eval₂ f g p) = eval₂ k (k ∘ g) (map f p) :=
@@ -2226,7 +2226,7 @@ theorem eval₂_comp_right {S₂} [CommSemiring S₂] (k : S₁ →+* S₂) (f :
lean 3 declaration is
forall {R : Type.{u1}} {S₁ : Type.{u2}} {S₂ : Type.{u3}} {S₃ : Type.{u4}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : S₂ -> (MvPolynomial.{u4, u1} S₃ R _inst_1)) (p : MvPolynomial.{u3, u1} S₂ R _inst_1), Eq.{max (succ u4) (succ u2)} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (coeFn.{max (succ (max u4 u1)) (succ (max u4 u2)), max (succ (max u4 u1)) (succ (max u4 u2))} (RingHom.{max u4 u1, max u4 u2} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2)))) (fun (_x : RingHom.{max u4 u1, max u4 u2} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2)))) => (MvPolynomial.{u4, u1} S₃ R _inst_1) -> (MvPolynomial.{u4, u2} S₃ S₁ _inst_2)) (RingHom.hasCoeToFun.{max u4 u1, max u4 u2} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2)))) (MvPolynomial.map.{u1, u2, u4} R S₁ S₃ _inst_1 _inst_2 f) (MvPolynomial.eval₂.{u1, max u4 u1, u3} R (MvPolynomial.{u4, u1} S₃ R _inst_1) S₂ _inst_1 (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1) (MvPolynomial.C.{u1, u4} R S₃ _inst_1) g p)) (MvPolynomial.eval₂.{u2, max u4 u2, u3} S₁ (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) S₂ _inst_2 (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2) (MvPolynomial.C.{u2, u4} S₁ S₃ _inst_2) (Function.comp.{succ u3, max (succ u4) (succ u1), max (succ u4) (succ u2)} S₂ (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (coeFn.{max (succ (max u4 u1)) (succ (max u4 u2)), max (succ (max u4 u1)) (succ (max u4 u2))} (RingHom.{max u4 u1, max u4 u2} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2)))) (fun (_x : RingHom.{max u4 u1, max u4 u2} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2)))) => (MvPolynomial.{u4, u1} S₃ R _inst_1) -> (MvPolynomial.{u4, u2} S₃ S₁ _inst_2)) (RingHom.hasCoeToFun.{max u4 u1, max u4 u2} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2)))) (MvPolynomial.map.{u1, u2, u4} R S₁ S₃ _inst_1 _inst_2 f)) g) (coeFn.{max (succ (max u3 u1)) (succ (max u3 u2)), max (succ (max u3 u1)) (succ (max u3 u2))} (RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} S₂ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R S₂ _inst_1))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ S₂ _inst_2)))) (fun (_x : RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} S₂ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R S₂ _inst_1))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ S₂ _inst_2)))) => (MvPolynomial.{u3, u1} S₂ R _inst_1) -> (MvPolynomial.{u3, u2} S₂ S₁ _inst_2)) (RingHom.hasCoeToFun.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} S₂ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R S₂ _inst_1))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ S₂ _inst_2)))) (MvPolynomial.map.{u1, u2, u3} R S₁ S₂ _inst_1 _inst_2 f) p))
but is expected to have type
- forall {R : Type.{u1}} {S₁ : Type.{u2}} {S₂ : Type.{u3}} {S₃ : Type.{u4}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : S₂ -> (MvPolynomial.{u4, u1} S₃ R _inst_1)) (p : MvPolynomial.{u3, u1} S₂ R _inst_1), Eq.{max (succ u2) (succ u4)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u4, u1} S₃ R _inst_1) => MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.eval₂.{u1, max u1 u4, u3} R (MvPolynomial.{u4, u1} S₃ R _inst_1) S₂ _inst_1 (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1) (MvPolynomial.C.{u1, u4} R S₃ _inst_1) g p)) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u4), max (succ u1) (succ u4), max (succ u2) (succ u4)} (RingHom.{max u1 u4, max u2 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1))) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2)))) (MvPolynomial.{u4, u1} S₃ R _inst_1) (fun (_x : MvPolynomial.{u4, u1} S₃ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u4, u1} S₃ R _inst_1) => MvPolynomial.{u4, u2} S₃ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u1 u2) u4, max u1 u4, max u2 u4} (RingHom.{max u1 u4, max u2 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1))) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2)))) (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{max (max u1 u2) u4, max u1 u4, max u2 u4} (RingHom.{max u1 u4, max u2 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1))) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2)))) (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2)))) (RingHomClass.toNonUnitalRingHomClass.{max (max u1 u2) u4, max u1 u4, max u2 u4} (RingHom.{max u1 u4, max u2 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1))) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2)))) (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1))) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2))) (RingHom.instRingHomClassRingHom.{max u1 u4, max u2 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1))) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2))))))) (MvPolynomial.map.{u1, u2, u4} R S₁ S₃ _inst_1 _inst_2 f) (MvPolynomial.eval₂.{u1, max u1 u4, u3} R (MvPolynomial.{u4, u1} S₃ R _inst_1) S₂ _inst_1 (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1) (MvPolynomial.C.{u1, u4} R S₃ _inst_1) g p)) (MvPolynomial.eval₂.{u2, max u4 u2, u3} S₁ (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) S₂ _inst_2 (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2) (MvPolynomial.C.{u2, u4} S₁ S₃ _inst_2) (Function.comp.{succ u3, max (succ u1) (succ u4), max (succ u4) (succ u2)} S₂ (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u4), max (succ u1) (succ u4), max (succ u2) (succ u4)} (RingHom.{max u1 u4, max u2 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1))) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2)))) (MvPolynomial.{u4, u1} S₃ R _inst_1) (fun (_x : MvPolynomial.{u4, u1} S₃ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u4, u1} S₃ R _inst_1) => MvPolynomial.{u4, u2} S₃ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u1 u2) u4, max u1 u4, max u2 u4} (RingHom.{max u1 u4, max u2 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1))) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2)))) (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{max (max u1 u2) u4, max u1 u4, max u2 u4} (RingHom.{max u1 u4, max u2 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1))) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2)))) (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2)))) (RingHomClass.toNonUnitalRingHomClass.{max (max u1 u2) u4, max u1 u4, max u2 u4} (RingHom.{max u1 u4, max u2 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1))) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2)))) (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1))) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2))) (RingHom.instRingHomClassRingHom.{max u1 u4, max u2 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1))) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2))))))) (MvPolynomial.map.{u1, u2, u4} R S₁ S₃ _inst_1 _inst_2 f)) g) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u1) (succ u3), max (succ u2) (succ u3)} (RingHom.{max u1 u3, max u2 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R S₂ _inst_1))) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ S₂ _inst_2)))) (MvPolynomial.{u3, u1} S₂ R _inst_1) (fun (_x : MvPolynomial.{u3, u1} S₂ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u3, u1} S₂ R _inst_1) => MvPolynomial.{u3, u2} S₂ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u1 u2) u3, max u1 u3, max u2 u3} (RingHom.{max u1 u3, max u2 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R S₂ _inst_1))) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ S₂ _inst_2)))) (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R S₂ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ S₂ _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{max (max u1 u2) u3, max u1 u3, max u2 u3} (RingHom.{max u1 u3, max u2 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R S₂ _inst_1))) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ S₂ _inst_2)))) (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R S₂ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ S₂ _inst_2)))) (RingHomClass.toNonUnitalRingHomClass.{max (max u1 u2) u3, max u1 u3, max u2 u3} (RingHom.{max u1 u3, max u2 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R S₂ _inst_1))) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ S₂ _inst_2)))) (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R S₂ _inst_1))) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ S₂ _inst_2))) (RingHom.instRingHomClassRingHom.{max u1 u3, max u2 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R S₂ _inst_1))) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ S₂ _inst_2))))))) (MvPolynomial.map.{u1, u2, u3} R S₁ S₂ _inst_1 _inst_2 f) p))
+ forall {R : Type.{u1}} {S₁ : Type.{u2}} {S₂ : Type.{u3}} {S₃ : Type.{u4}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : S₂ -> (MvPolynomial.{u4, u1} S₃ R _inst_1)) (p : MvPolynomial.{u3, u1} S₂ R _inst_1), Eq.{max (succ u2) (succ u4)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u4, u1} S₃ R _inst_1) => MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.eval₂.{u1, max u1 u4, u3} R (MvPolynomial.{u4, u1} S₃ R _inst_1) S₂ _inst_1 (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1) (MvPolynomial.C.{u1, u4} R S₃ _inst_1) g p)) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u4), max (succ u1) (succ u4), max (succ u2) (succ u4)} (RingHom.{max u1 u4, max u2 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1))) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2)))) (MvPolynomial.{u4, u1} S₃ R _inst_1) (fun (_x : MvPolynomial.{u4, u1} S₃ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u4, u1} S₃ R _inst_1) => MvPolynomial.{u4, u2} S₃ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u1 u2) u4, max u1 u4, max u2 u4} (RingHom.{max u1 u4, max u2 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1))) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2)))) (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{max (max u1 u2) u4, max u1 u4, max u2 u4} (RingHom.{max u1 u4, max u2 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1))) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2)))) (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2)))) (RingHomClass.toNonUnitalRingHomClass.{max (max u1 u2) u4, max u1 u4, max u2 u4} (RingHom.{max u1 u4, max u2 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1))) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2)))) (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1))) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2))) (RingHom.instRingHomClassRingHom.{max u1 u4, max u2 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1))) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2))))))) (MvPolynomial.map.{u1, u2, u4} R S₁ S₃ _inst_1 _inst_2 f) (MvPolynomial.eval₂.{u1, max u1 u4, u3} R (MvPolynomial.{u4, u1} S₃ R _inst_1) S₂ _inst_1 (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1) (MvPolynomial.C.{u1, u4} R S₃ _inst_1) g p)) (MvPolynomial.eval₂.{u2, max u4 u2, u3} S₁ (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) S₂ _inst_2 (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2) (MvPolynomial.C.{u2, u4} S₁ S₃ _inst_2) (Function.comp.{succ u3, max (succ u1) (succ u4), max (succ u4) (succ u2)} S₂ (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u4), max (succ u1) (succ u4), max (succ u2) (succ u4)} (RingHom.{max u1 u4, max u2 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1))) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2)))) (MvPolynomial.{u4, u1} S₃ R _inst_1) (fun (_x : MvPolynomial.{u4, u1} S₃ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u4, u1} S₃ R _inst_1) => MvPolynomial.{u4, u2} S₃ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u1 u2) u4, max u1 u4, max u2 u4} (RingHom.{max u1 u4, max u2 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1))) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2)))) (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{max (max u1 u2) u4, max u1 u4, max u2 u4} (RingHom.{max u1 u4, max u2 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1))) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2)))) (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2)))) (RingHomClass.toNonUnitalRingHomClass.{max (max u1 u2) u4, max u1 u4, max u2 u4} (RingHom.{max u1 u4, max u2 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1))) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2)))) (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1))) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2))) (RingHom.instRingHomClassRingHom.{max u1 u4, max u2 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1))) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2))))))) (MvPolynomial.map.{u1, u2, u4} R S₁ S₃ _inst_1 _inst_2 f)) g) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u1) (succ u3), max (succ u2) (succ u3)} (RingHom.{max u1 u3, max u2 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R S₂ _inst_1))) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ S₂ _inst_2)))) (MvPolynomial.{u3, u1} S₂ R _inst_1) (fun (_x : MvPolynomial.{u3, u1} S₂ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u3, u1} S₂ R _inst_1) => MvPolynomial.{u3, u2} S₂ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u1 u2) u3, max u1 u3, max u2 u3} (RingHom.{max u1 u3, max u2 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R S₂ _inst_1))) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ S₂ _inst_2)))) (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R S₂ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ S₂ _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{max (max u1 u2) u3, max u1 u3, max u2 u3} (RingHom.{max u1 u3, max u2 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R S₂ _inst_1))) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ S₂ _inst_2)))) (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R S₂ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ S₂ _inst_2)))) (RingHomClass.toNonUnitalRingHomClass.{max (max u1 u2) u3, max u1 u3, max u2 u3} (RingHom.{max u1 u3, max u2 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R S₂ _inst_1))) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ S₂ _inst_2)))) (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R S₂ _inst_1))) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ S₂ _inst_2))) (RingHom.instRingHomClassRingHom.{max u1 u3, max u2 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R S₂ _inst_1))) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ S₂ _inst_2))))))) (MvPolynomial.map.{u1, u2, u3} R S₁ S₂ _inst_1 _inst_2 f) p))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.map_eval₂ MvPolynomial.map_eval₂ₓ'. -/
theorem map_eval₂ (f : R →+* S₁) (g : S₂ → MvPolynomial S₃ R) (p : MvPolynomial S₂ R) :
map f (eval₂ C g p) = eval₂ C (map f ∘ g) (map f p) :=
@@ -2244,7 +2244,7 @@ theorem map_eval₂ (f : R →+* S₁) (g : S₂ → MvPolynomial S₃ R) (p : M
lean 3 declaration is
forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (p : MvPolynomial.{u3, u1} σ R _inst_1) (m : Finsupp.{u3, 0} σ Nat Nat.hasZero), Eq.{succ u2} S₁ (MvPolynomial.coeff.{u2, u3} S₁ σ _inst_2 m (coeFn.{max (succ (max u3 u1)) (succ (max u3 u2)), max (succ (max u3 u1)) (succ (max u3 u2))} (RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (fun (_x : RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> (MvPolynomial.{u3, u2} σ S₁ _inst_2)) (RingHom.hasCoeToFun.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (MvPolynomial.map.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f) p)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) f (MvPolynomial.coeff.{u1, u3} R σ _inst_1 m p))
but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (p : MvPolynomial.{u1, u2} σ R _inst_1) (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)), Eq.{succ u3} S₁ (MvPolynomial.coeff.{u3, u1} S₁ σ _inst_2 m (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, 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) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f) p)) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m p))
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (p : MvPolynomial.{u1, u2} σ R _inst_1) (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)), Eq.{succ u3} S₁ (MvPolynomial.coeff.{u3, u1} S₁ σ _inst_2 m (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f) p)) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m p))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.coeff_map MvPolynomial.coeff_mapₓ'. -/
theorem coeff_map (p : MvPolynomial σ R) : ∀ m : σ →₀ ℕ, coeff m (map f p) = f (coeff m p) := by
classical
@@ -2270,7 +2270,7 @@ theorem coeff_map (p : MvPolynomial σ R) : ∀ m : σ →₀ ℕ, coeff m (map
lean 3 declaration is
forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))), (Function.Injective.{succ u1, succ u2} R S₁ (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) f)) -> (Function.Injective.{max (succ u3) (succ u1), max (succ u3) (succ u2)} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (coeFn.{max (succ (max u3 u1)) (succ (max u3 u2)), max (succ (max u3 u1)) (succ (max u3 u2))} (RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (fun (_x : RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> (MvPolynomial.{u3, u2} σ S₁ _inst_2)) (RingHom.hasCoeToFun.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (MvPolynomial.map.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f)))
but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))), (Function.Injective.{succ u2, succ u3} R S₁ (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f)) -> (Function.Injective.{max (succ u2) (succ u1), max (succ u3) (succ u1)} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, 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) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f)))
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))), (Function.Injective.{succ u2, succ u3} R S₁ (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f)) -> (Function.Injective.{max (succ u2) (succ u1), max (succ u3) (succ u1)} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f)))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.map_injective MvPolynomial.map_injectiveₓ'. -/
theorem map_injective (hf : Function.Injective f) :
Function.Injective (map f : MvPolynomial σ R → MvPolynomial σ S₁) :=
@@ -2285,7 +2285,7 @@ theorem map_injective (hf : Function.Injective f) :
lean 3 declaration is
forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))), (Function.Surjective.{succ u1, succ u2} R S₁ (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) f)) -> (Function.Surjective.{max (succ u3) (succ u1), max (succ u3) (succ u2)} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (coeFn.{max (succ (max u3 u1)) (succ (max u3 u2)), max (succ (max u3 u1)) (succ (max u3 u2))} (RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (fun (_x : RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> (MvPolynomial.{u3, u2} σ S₁ _inst_2)) (RingHom.hasCoeToFun.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (MvPolynomial.map.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f)))
but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))), (Function.Surjective.{succ u2, succ u3} R S₁ (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f)) -> (Function.Surjective.{max (succ u2) (succ u1), max (succ u3) (succ u1)} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, 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) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f)))
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))), (Function.Surjective.{succ u2, succ u3} R S₁ (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f)) -> (Function.Surjective.{max (succ u2) (succ u1), max (succ u3) (succ u1)} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f)))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.map_surjective MvPolynomial.map_surjectiveₓ'. -/
theorem map_surjective (hf : Function.Surjective f) :
Function.Surjective (map f : MvPolynomial σ R → MvPolynomial σ S₁) := fun p =>
@@ -2302,7 +2302,7 @@ theorem map_surjective (hf : Function.Surjective f) :
lean 3 declaration is
forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] {f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))} {g : RingHom.{u2, u1} S₁ R (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))}, (Function.LeftInverse.{succ u2, succ u1} S₁ R (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) f) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (RingHom.{u2, u1} S₁ R (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{u2, u1} S₁ R (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => S₁ -> R) (RingHom.hasCoeToFun.{u2, u1} S₁ R (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) g)) -> (Function.LeftInverse.{max (succ u3) (succ u2), max (succ u3) (succ u1)} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.{u3, u1} σ R _inst_1) (coeFn.{max (succ (max u3 u1)) (succ (max u3 u2)), max (succ (max u3 u1)) (succ (max u3 u2))} (RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (fun (_x : RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> (MvPolynomial.{u3, u2} σ S₁ _inst_2)) (RingHom.hasCoeToFun.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (MvPolynomial.map.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f)) (coeFn.{max (succ (max u3 u2)) (succ (max u3 u1)), max (succ (max u3 u2)) (succ (max u3 u1))} (RingHom.{max u3 u2, max u3 u1} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))) (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)))) (fun (_x : RingHom.{max u3 u2, max u3 u1} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))) (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)))) => (MvPolynomial.{u3, u2} σ S₁ _inst_2) -> (MvPolynomial.{u3, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{max u3 u2, max u3 u1} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))) (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)))) (MvPolynomial.map.{u2, u1, u3} S₁ R σ _inst_2 _inst_1 g)))
but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] {f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))} {g : RingHom.{u3, u2} S₁ R (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))}, (Function.LeftInverse.{succ u3, succ u2} S₁ R (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (RingHom.{u3, u2} S₁ R (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S₁ (fun (_x : S₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S₁) => R) _x) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (RingHom.{u3, u2} S₁ R (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S₁ R (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u3, u2} (RingHom.{u3, u2} S₁ R (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S₁ R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u3, u2} (RingHom.{u3, u2} S₁ R (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S₁ R (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{u3, u2} S₁ R (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) g)) -> (Function.LeftInverse.{max (succ u3) (succ u1), max (succ u2) (succ u1)} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u2} σ R _inst_1) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, 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) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u3) (succ u1), max (succ u2) (succ u1)} (RingHom.{max u3 u1, max u2 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u2} σ 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))) (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.{u1, u3} σ S₁ _inst_2) (fun (_x : MvPolynomial.{u1, u3} σ S₁ _inst_2) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u3 u1, max u2 u1} (RingHom.{max u3 u1, max u2 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u2} σ 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))) (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.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u2} σ 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))))) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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 (max u2 u3) u1, max u3 u1, max u2 u1} (RingHom.{max u3 u1, max u2 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u2} σ 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))) (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.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u2} σ 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)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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 (max u2 u3) u1, max u3 u1, max u2 u1} (RingHom.{max u3 u1, max u2 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u2} σ 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))) (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.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u2} σ 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))) (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.{max u3 u1, max u2 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u2} σ 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))) (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.map.{u3, u2, u1} S₁ R σ _inst_2 _inst_1 g)))
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] {f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))} {g : RingHom.{u3, u2} S₁ R (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))}, (Function.LeftInverse.{succ u3, succ u2} S₁ R (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (RingHom.{u3, u2} S₁ R (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S₁ (fun (_x : S₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S₁) => R) _x) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (RingHom.{u3, u2} S₁ R (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S₁ R (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u3, u2} (RingHom.{u3, u2} S₁ R (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S₁ R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u3, u2} (RingHom.{u3, u2} S₁ R (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S₁ R (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{u3, u2} S₁ R (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) g)) -> (Function.LeftInverse.{max (succ u3) (succ u1), max (succ u2) (succ u1)} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u2} σ R _inst_1) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u3) (succ u1), max (succ u2) (succ u1)} (RingHom.{max u3 u1, max u2 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u2} σ 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))) (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.{u1, u3} σ S₁ _inst_2) (fun (_x : MvPolynomial.{u1, u3} σ S₁ _inst_2) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u3 u1, max u2 u1} (RingHom.{max u3 u1, max u2 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u2} σ 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))) (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.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u2} σ 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))))) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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 (max u2 u3) u1, max u3 u1, max u2 u1} (RingHom.{max u3 u1, max u2 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u2} σ 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))) (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.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u2} σ 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)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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 (max u2 u3) u1, max u3 u1, max u2 u1} (RingHom.{max u3 u1, max u2 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u2} σ 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))) (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.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u2} σ 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))) (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.{max u3 u1, max u2 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u2} σ 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))) (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.map.{u3, u2, u1} S₁ R σ _inst_2 _inst_1 g)))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.map_left_inverse MvPolynomial.map_leftInverseₓ'. -/
/-- If `f` is a left-inverse of `g` then `map f` is a left-inverse of `map g`. -/
theorem map_leftInverse {f : R →+* S₁} {g : S₁ →+* R} (hf : Function.LeftInverse f g) :
@@ -2314,7 +2314,7 @@ theorem map_leftInverse {f : R →+* S₁} {g : S₁ →+* R} (hf : Function.Lef
lean 3 declaration is
forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] {f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))} {g : RingHom.{u2, u1} S₁ R (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))}, (Function.RightInverse.{succ u2, succ u1} S₁ R (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) f) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (RingHom.{u2, u1} S₁ R (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{u2, u1} S₁ R (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => S₁ -> R) (RingHom.hasCoeToFun.{u2, u1} S₁ R (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) g)) -> (Function.RightInverse.{max (succ u3) (succ u2), max (succ u3) (succ u1)} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.{u3, u1} σ R _inst_1) (coeFn.{max (succ (max u3 u1)) (succ (max u3 u2)), max (succ (max u3 u1)) (succ (max u3 u2))} (RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (fun (_x : RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> (MvPolynomial.{u3, u2} σ S₁ _inst_2)) (RingHom.hasCoeToFun.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (MvPolynomial.map.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f)) (coeFn.{max (succ (max u3 u2)) (succ (max u3 u1)), max (succ (max u3 u2)) (succ (max u3 u1))} (RingHom.{max u3 u2, max u3 u1} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))) (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)))) (fun (_x : RingHom.{max u3 u2, max u3 u1} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))) (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)))) => (MvPolynomial.{u3, u2} σ S₁ _inst_2) -> (MvPolynomial.{u3, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{max u3 u2, max u3 u1} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))) (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)))) (MvPolynomial.map.{u2, u1, u3} S₁ R σ _inst_2 _inst_1 g)))
but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] {f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))} {g : RingHom.{u3, u2} S₁ R (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))}, (Function.RightInverse.{succ u3, succ u2} S₁ R (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (RingHom.{u3, u2} S₁ R (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S₁ (fun (_x : S₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S₁) => R) _x) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (RingHom.{u3, u2} S₁ R (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S₁ R (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u3, u2} (RingHom.{u3, u2} S₁ R (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S₁ R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u3, u2} (RingHom.{u3, u2} S₁ R (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S₁ R (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{u3, u2} S₁ R (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) g)) -> (Function.RightInverse.{max (succ u3) (succ u1), max (succ u2) (succ u1)} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u2} σ R _inst_1) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, 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) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u3) (succ u1), max (succ u2) (succ u1)} (RingHom.{max u3 u1, max u2 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u2} σ 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))) (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.{u1, u3} σ S₁ _inst_2) (fun (_x : MvPolynomial.{u1, u3} σ S₁ _inst_2) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u3 u1, max u2 u1} (RingHom.{max u3 u1, max u2 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u2} σ 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))) (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.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u2} σ 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))))) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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 (max u2 u3) u1, max u3 u1, max u2 u1} (RingHom.{max u3 u1, max u2 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u2} σ 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))) (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.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u2} σ 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)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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 (max u2 u3) u1, max u3 u1, max u2 u1} (RingHom.{max u3 u1, max u2 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u2} σ 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))) (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.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u2} σ 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))) (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.{max u3 u1, max u2 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u2} σ 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))) (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.map.{u3, u2, u1} S₁ R σ _inst_2 _inst_1 g)))
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] {f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))} {g : RingHom.{u3, u2} S₁ R (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))}, (Function.RightInverse.{succ u3, succ u2} S₁ R (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (RingHom.{u3, u2} S₁ R (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S₁ (fun (_x : S₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S₁) => R) _x) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (RingHom.{u3, u2} S₁ R (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S₁ R (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u3, u2} (RingHom.{u3, u2} S₁ R (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S₁ R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u3, u2} (RingHom.{u3, u2} S₁ R (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S₁ R (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{u3, u2} S₁ R (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) g)) -> (Function.RightInverse.{max (succ u3) (succ u1), max (succ u2) (succ u1)} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u2} σ R _inst_1) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u3) (succ u1), max (succ u2) (succ u1)} (RingHom.{max u3 u1, max u2 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u2} σ 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))) (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.{u1, u3} σ S₁ _inst_2) (fun (_x : MvPolynomial.{u1, u3} σ S₁ _inst_2) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u3 u1, max u2 u1} (RingHom.{max u3 u1, max u2 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u2} σ 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))) (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.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u2} σ 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))))) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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 (max u2 u3) u1, max u3 u1, max u2 u1} (RingHom.{max u3 u1, max u2 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u2} σ 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))) (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.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u2} σ 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)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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 (max u2 u3) u1, max u3 u1, max u2 u1} (RingHom.{max u3 u1, max u2 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u2} σ 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))) (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.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u2} σ 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))) (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.{max u3 u1, max u2 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u2} σ 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))) (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.map.{u3, u2, u1} S₁ R σ _inst_2 _inst_1 g)))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.map_right_inverse MvPolynomial.map_rightInverseₓ'. -/
/-- If `f` is a right-inverse of `g` then `map f` is a right-inverse of `map g`. -/
theorem map_rightInverse {f : R →+* S₁} {g : S₁ →+* R} (hf : Function.RightInverse f g) :
@@ -2326,7 +2326,7 @@ theorem map_rightInverse {f : R →+* S₁} {g : S₁ →+* R} (hf : Function.Ri
lean 3 declaration is
forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : σ -> S₁) (p : MvPolynomial.{u3, u1} σ R _inst_1), Eq.{succ u2} S₁ (coeFn.{max (succ (max u3 u2)) (succ u2), max (succ (max u3 u2)) (succ u2)} (RingHom.{max u3 u2, u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{max u3 u2, u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => (MvPolynomial.{u3, u2} σ S₁ _inst_2) -> S₁) (RingHom.hasCoeToFun.{max u3 u2, u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (MvPolynomial.eval.{u2, u3} S₁ σ _inst_2 g) (coeFn.{max (succ (max u3 u1)) (succ (max u3 u2)), max (succ (max u3 u1)) (succ (max u3 u2))} (RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (fun (_x : RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> (MvPolynomial.{u3, u2} σ S₁ _inst_2)) (RingHom.hasCoeToFun.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (MvPolynomial.map.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f) p)) (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g p)
but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (fun (a : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f) p)) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), succ u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (fun (_x : MvPolynomial.{u1, u3} σ S₁ _inst_2) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) _x) (MulHomClass.toFunLike.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (MvPolynomial.eval.{u3, u1} S₁ σ _inst_2 g) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, 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) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f) p)) (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g p)
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (fun (a : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f) p)) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), succ u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (fun (_x : MvPolynomial.{u1, u3} σ S₁ _inst_2) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) _x) (MulHomClass.toFunLike.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (MvPolynomial.eval.{u3, u1} S₁ σ _inst_2 g) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f) p)) (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g p)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval_map MvPolynomial.eval_mapₓ'. -/
@[simp]
theorem eval_map (f : R →+* S₁) (g : σ → S₁) (p : MvPolynomial σ R) :
@@ -2338,7 +2338,7 @@ theorem eval_map (f : R →+* S₁) (g : σ → S₁) (p : MvPolynomial σ R) :
lean 3 declaration is
forall {R : Type.{u1}} {S₁ : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u4}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : CommSemiring.{u3} S₂] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : σ -> S₂) (φ : RingHom.{u2, u3} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))) (p : MvPolynomial.{u4, u1} σ R _inst_1), Eq.{succ u3} S₂ (MvPolynomial.eval₂.{u2, u3, u4} S₁ S₂ σ _inst_2 _inst_3 φ g (coeFn.{max (succ (max u4 u1)) (succ (max u4 u2)), max (succ (max u4 u1)) (succ (max u4 u2))} (RingHom.{max u4 u1, max u4 u2} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.{u4, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ σ _inst_2)))) (fun (_x : RingHom.{max u4 u1, max u4 u2} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.{u4, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ σ _inst_2)))) => (MvPolynomial.{u4, u1} σ R _inst_1) -> (MvPolynomial.{u4, u2} σ S₁ _inst_2)) (RingHom.hasCoeToFun.{max u4 u1, max u4 u2} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.{u4, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ σ _inst_2)))) (MvPolynomial.map.{u1, u2, u4} R S₁ σ _inst_1 _inst_2 f) p)) (MvPolynomial.eval₂.{u1, u3, u4} R S₂ σ _inst_1 _inst_3 (RingHom.comp.{u1, u2, u3} R S₁ S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3)) φ f) g p)
but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {S₂ : Type.{u4}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : CommSemiring.{u4} S₂] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₂) (φ : RingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u4} S₂ (MvPolynomial.eval₂.{u3, u4, u1} S₁ S₂ σ _inst_2 _inst_3 φ g (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, 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) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f) p)) (MvPolynomial.eval₂.{u2, u4, u1} R S₂ σ _inst_1 _inst_3 (RingHom.comp.{u2, u3, u4} R S₁ S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)) φ f) g p)
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {S₂ : Type.{u4}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : CommSemiring.{u4} S₂] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₂) (φ : RingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u4} S₂ (MvPolynomial.eval₂.{u3, u4, u1} S₁ S₂ σ _inst_2 _inst_3 φ g (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f) p)) (MvPolynomial.eval₂.{u2, u4, u1} R S₂ σ _inst_1 _inst_3 (RingHom.comp.{u2, u3, u4} R S₁ S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)) φ f) g p)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_map MvPolynomial.eval₂_mapₓ'. -/
@[simp]
theorem eval₂_map [CommSemiring S₂] (f : R →+* S₁) (g : σ → S₂) (φ : S₁ →+* S₂)
@@ -2350,7 +2350,7 @@ theorem eval₂_map [CommSemiring S₂] (f : R →+* S₁) (g : σ → S₂) (φ
lean 3 declaration is
forall {R : Type.{u1}} {S₁ : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u4}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : CommSemiring.{u3} S₂] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : σ -> S₂) (φ : RingHom.{u2, u3} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))) (p : MvPolynomial.{u4, u1} σ R _inst_1), Eq.{succ u3} S₂ (coeFn.{max (succ (max u4 u2)) (succ u3), max (succ (max u4 u2)) (succ u3)} (RingHom.{max u4 u2, u3} (MvPolynomial.{u4, u2} σ S₁ _inst_2) S₂ (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))) (fun (_x : RingHom.{max u4 u2, u3} (MvPolynomial.{u4, u2} σ S₁ _inst_2) S₂ (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))) => (MvPolynomial.{u4, u2} σ S₁ _inst_2) -> S₂) (RingHom.hasCoeToFun.{max u4 u2, u3} (MvPolynomial.{u4, u2} σ S₁ _inst_2) S₂ (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))) (MvPolynomial.eval₂Hom.{u2, u3, u4} S₁ S₂ σ _inst_2 _inst_3 φ g) (coeFn.{max (succ (max u4 u1)) (succ (max u4 u2)), max (succ (max u4 u1)) (succ (max u4 u2))} (RingHom.{max u4 u1, max u4 u2} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.{u4, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ σ _inst_2)))) (fun (_x : RingHom.{max u4 u1, max u4 u2} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.{u4, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ σ _inst_2)))) => (MvPolynomial.{u4, u1} σ R _inst_1) -> (MvPolynomial.{u4, u2} σ S₁ _inst_2)) (RingHom.hasCoeToFun.{max u4 u1, max u4 u2} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.{u4, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ σ _inst_2)))) (MvPolynomial.map.{u1, u2, u4} R S₁ σ _inst_1 _inst_2 f) p)) (coeFn.{max (succ (max u4 u1)) (succ u3), max (succ (max u4 u1)) (succ u3)} (RingHom.{max u4 u1, u3} (MvPolynomial.{u4, u1} σ R _inst_1) S₂ (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))) (fun (_x : RingHom.{max u4 u1, u3} (MvPolynomial.{u4, u1} σ R _inst_1) S₂ (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))) => (MvPolynomial.{u4, u1} σ R _inst_1) -> S₂) (RingHom.hasCoeToFun.{max u4 u1, u3} (MvPolynomial.{u4, u1} σ R _inst_1) S₂ (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))) (MvPolynomial.eval₂Hom.{u1, u3, u4} R S₂ σ _inst_1 _inst_3 (RingHom.comp.{u1, u2, u3} R S₁ S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3)) φ f) g) p)
but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {S₂ : Type.{u4}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : CommSemiring.{u4} S₂] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₂) (φ : RingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₂) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (fun (a : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f) p)) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u1), max (succ u3) (succ u1), succ u4} (RingHom.{max u3 u1, u4} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₂ (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))) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (fun (_x : MvPolynomial.{u1, u3} σ S₁ _inst_2) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₂) _x) (MulHomClass.toFunLike.{max (max u3 u4) u1, max u3 u1, u4} (RingHom.{max u3 u1, u4} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₂ (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))) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₂ (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))))) (NonUnitalNonAssocSemiring.toMul.{u4} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₂ (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u3 u4) u1, max u3 u1, u4} (RingHom.{max u3 u1, u4} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₂ (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))) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₂ (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)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₂ (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max (max u3 u4) u1, max u3 u1, u4} (RingHom.{max u3 u1, u4} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₂ (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))) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₂ (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))) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)) (RingHom.instRingHomClassRingHom.{max u3 u1, u4} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₂ (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))) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)))))) (MvPolynomial.eval₂Hom.{u3, u4, u1} S₁ S₂ σ _inst_2 _inst_3 φ g) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, 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) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f) p)) (FunLike.coe.{max (max (succ u2) (succ u4)) (succ u1), max (succ u2) (succ u1), 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_3))) (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 u2 u4) u1, max u2 u1, 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_3))) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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_3)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u4) u1, max u2 u1, 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_3))) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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_3))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u4) u1, max u2 u1, 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_3))) (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_3)) (RingHom.instRingHomClassRingHom.{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_3)))))) (MvPolynomial.eval₂Hom.{u2, u4, u1} R S₂ σ _inst_1 _inst_3 (RingHom.comp.{u2, u3, u4} R S₁ S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)) φ f) g) p)
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {S₂ : Type.{u4}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : CommSemiring.{u4} S₂] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₂) (φ : RingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₂) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (fun (a : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f) p)) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u1), max (succ u3) (succ u1), succ u4} (RingHom.{max u3 u1, u4} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₂ (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))) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (fun (_x : MvPolynomial.{u1, u3} σ S₁ _inst_2) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₂) _x) (MulHomClass.toFunLike.{max (max u3 u4) u1, max u3 u1, u4} (RingHom.{max u3 u1, u4} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₂ (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))) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₂ (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))))) (NonUnitalNonAssocSemiring.toMul.{u4} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₂ (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u3 u4) u1, max u3 u1, u4} (RingHom.{max u3 u1, u4} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₂ (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))) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₂ (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)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₂ (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max (max u3 u4) u1, max u3 u1, u4} (RingHom.{max u3 u1, u4} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₂ (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))) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₂ (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))) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)) (RingHom.instRingHomClassRingHom.{max u3 u1, u4} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₂ (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))) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)))))) (MvPolynomial.eval₂Hom.{u3, u4, u1} S₁ S₂ σ _inst_2 _inst_3 φ g) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f) p)) (FunLike.coe.{max (max (succ u2) (succ u4)) (succ u1), max (succ u2) (succ u1), 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_3))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) _x) (MulHomClass.toFunLike.{max (max u2 u4) u1, max u2 u1, 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_3))) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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_3)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u4) u1, max u2 u1, 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_3))) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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_3))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u4) u1, max u2 u1, 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_3))) (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_3)) (RingHom.instRingHomClassRingHom.{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_3)))))) (MvPolynomial.eval₂Hom.{u2, u4, u1} R S₂ σ _inst_1 _inst_3 (RingHom.comp.{u2, u3, u4} R S₁ S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)) φ f) g) p)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_hom_map_hom MvPolynomial.eval₂Hom_map_homₓ'. -/
@[simp]
theorem eval₂Hom_map_hom [CommSemiring S₂] (f : R →+* S₁) (g : σ → S₂) (φ : S₁ →+* S₂)
@@ -2362,7 +2362,7 @@ theorem eval₂Hom_map_hom [CommSemiring S₂] (f : R →+* S₁) (g : σ → S
lean 3 declaration is
forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (φ : MvPolynomial.{u3, u1} σ R _inst_1), Eq.{succ u2} S₁ (coeFn.{max (succ (max u3 u2)) (succ u2), max (succ (max u3 u2)) (succ u2)} (RingHom.{max u3 u2, u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{max u3 u2, u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => (MvPolynomial.{u3, u2} σ S₁ _inst_2) -> S₁) (RingHom.hasCoeToFun.{max u3 u2, u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (MvPolynomial.constantCoeff.{u2, u3} S₁ σ _inst_2) (coeFn.{max (succ (max u3 u1)) (succ (max u3 u2)), max (succ (max u3 u1)) (succ (max u3 u2))} (RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (fun (_x : RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> (MvPolynomial.{u3, u2} σ S₁ _inst_2)) (RingHom.hasCoeToFun.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (MvPolynomial.map.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f) φ)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) f (coeFn.{max (succ (max u3 u1)) (succ u1), max (succ (max u3 u1)) (succ u1)} (RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.constantCoeff.{u1, u3} R σ _inst_1) φ))
but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (φ : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (fun (a : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f) φ)) (FunLike.coe.{max (succ u1) (succ u3), max (succ u1) (succ u3), succ u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (fun (_x : MvPolynomial.{u1, u3} σ S₁ _inst_2) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) _x) (MulHomClass.toFunLike.{max u1 u3, max u1 u3, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (NonUnitalNonAssocSemiring.toMul.{max u1 u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (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))))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u3, max u1 u3, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (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)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u3, max u1 u3, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{max u1 u3, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (MvPolynomial.constantCoeff.{u3, u1} S₁ σ _inst_2) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, 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) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f) φ)) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (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) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) φ))
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (φ : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (fun (a : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f) φ)) (FunLike.coe.{max (succ u1) (succ u3), max (succ u1) (succ u3), succ u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (fun (_x : MvPolynomial.{u1, u3} σ S₁ _inst_2) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) _x) (MulHomClass.toFunLike.{max u1 u3, max u1 u3, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (NonUnitalNonAssocSemiring.toMul.{max u1 u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (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))))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u3, max u1 u3, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (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)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u3, max u1 u3, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{max u1 u3, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (MvPolynomial.constantCoeff.{u3, u1} S₁ σ _inst_2) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f) φ)) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) φ))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.constant_coeff_map MvPolynomial.constantCoeff_mapₓ'. -/
@[simp]
theorem constantCoeff_map (f : R →+* S₁) (φ : MvPolynomial σ R) :
@@ -2385,7 +2385,7 @@ theorem constantCoeff_comp_map (f : R →+* S₁) :
lean 3 declaration is
forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (p : MvPolynomial.{u3, u1} σ R _inst_1), HasSubset.Subset.{u3} (Finset.{u3} (Finsupp.{u3, 0} σ Nat Nat.hasZero)) (Finset.hasSubset.{u3} (Finsupp.{u3, 0} σ Nat Nat.hasZero)) (MvPolynomial.support.{u2, u3} S₁ σ _inst_2 (coeFn.{max (succ (max u3 u1)) (succ (max u3 u2)), max (succ (max u3 u1)) (succ (max u3 u2))} (RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (fun (_x : RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> (MvPolynomial.{u3, u2} σ S₁ _inst_2)) (RingHom.hasCoeToFun.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (MvPolynomial.map.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f) p)) (MvPolynomial.support.{u1, u3} R σ _inst_1 p)
but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (p : MvPolynomial.{u1, u2} σ R _inst_1), HasSubset.Subset.{u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instHasSubsetFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.support.{u3, u1} S₁ σ _inst_2 (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, 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) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f) p)) (MvPolynomial.support.{u2, u1} R σ _inst_1 p)
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (p : MvPolynomial.{u1, u2} σ R _inst_1), HasSubset.Subset.{u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instHasSubsetFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.support.{u3, u1} S₁ σ _inst_2 (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f) p)) (MvPolynomial.support.{u2, u1} R σ _inst_1 p)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.support_map_subset MvPolynomial.support_map_subsetₓ'. -/
theorem support_map_subset (p : MvPolynomial σ R) : (map f p).support ⊆ p.support :=
by
@@ -2403,7 +2403,7 @@ theorem support_map_subset (p : MvPolynomial σ R) : (map f p).support ⊆ p.sup
lean 3 declaration is
forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (p : MvPolynomial.{u3, u1} σ R _inst_1) {f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))}, (Function.Injective.{succ u1, succ u2} R S₁ (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) f)) -> (Eq.{succ u3} (Finset.{u3} (Finsupp.{u3, 0} σ Nat Nat.hasZero)) (MvPolynomial.support.{u2, u3} S₁ σ _inst_2 (coeFn.{max (succ (max u3 u1)) (succ (max u3 u2)), max (succ (max u3 u1)) (succ (max u3 u2))} (RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (fun (_x : RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> (MvPolynomial.{u3, u2} σ S₁ _inst_2)) (RingHom.hasCoeToFun.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (MvPolynomial.map.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f) p)) (MvPolynomial.support.{u1, u3} R σ _inst_1 p))
but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (p : MvPolynomial.{u1, u2} σ R _inst_1) {f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))}, (Function.Injective.{succ u2, succ u3} R S₁ (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f)) -> (Eq.{succ u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.support.{u3, u1} S₁ σ _inst_2 (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, 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) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f) p)) (MvPolynomial.support.{u2, u1} R σ _inst_1 p))
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (p : MvPolynomial.{u1, u2} σ R _inst_1) {f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))}, (Function.Injective.{succ u2, succ u3} R S₁ (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f)) -> (Eq.{succ u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.support.{u3, u1} S₁ σ _inst_2 (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f) p)) (MvPolynomial.support.{u2, u1} R σ _inst_1 p))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.support_map_of_injective MvPolynomial.support_map_of_injectiveₓ'. -/
theorem support_map_of_injective (p : MvPolynomial σ R) {f : R →+* S₁} (hf : Injective f) :
(map f p).support = p.support :=
@@ -2423,7 +2423,7 @@ theorem support_map_of_injective (p : MvPolynomial σ R) {f : R →+* S₁} (hf
lean 3 declaration is
forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (q : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (r : R), (forall (r' : R), Iff (Eq.{succ u2} S₁ (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) q r') (OfNat.ofNat.{u2} S₁ 0 (OfNat.mk.{u2} S₁ 0 (Zero.zero.{u2} S₁ (MulZeroClass.toHasZero.{u2} S₁ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))))))))) (Dvd.Dvd.{u1} R (semigroupDvd.{u1} R (SemigroupWithZero.toSemigroup.{u1} R (NonUnitalSemiring.toSemigroupWithZero.{u1} R (NonUnitalCommSemiring.toNonUnitalSemiring.{u1} R (CommSemiring.toNonUnitalCommSemiring.{u1} R _inst_1))))) r r')) -> (forall (φ : MvPolynomial.{u3, u1} σ R _inst_1), Iff (Dvd.Dvd.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (semigroupDvd.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (SemigroupWithZero.toSemigroup.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (NonUnitalSemiring.toSemigroupWithZero.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (NonUnitalCommSemiring.toNonUnitalSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (CommSemiring.toNonUnitalCommSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)))))) (coeFn.{max (succ u1) (succ (max u3 u1)), max (succ u1) (succ (max u3 u1))} (RingHom.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u3, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u3} R σ _inst_1) r) φ) (Eq.{max (succ u3) (succ u2)} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (coeFn.{max (succ (max u3 u1)) (succ (max u3 u2)), max (succ (max u3 u1)) (succ (max u3 u2))} (RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (fun (_x : RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> (MvPolynomial.{u3, u2} σ S₁ _inst_2)) (RingHom.hasCoeToFun.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (MvPolynomial.map.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 q) φ) (OfNat.ofNat.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) 0 (OfNat.mk.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) 0 (Zero.zero.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MulZeroClass.toHasZero.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMulZeroClass.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))))))))))
but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (q : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (r : R), (forall (r' : R), Iff (Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r') (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) q r') (OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r') 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r') (CommMonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r') (CommSemiring.toCommMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r') _inst_2))))) (Dvd.dvd.{u2} R (semigroupDvd.{u2} R (SemigroupWithZero.toSemigroup.{u2} R (NonUnitalSemiring.toSemigroupWithZero.{u2} R (NonUnitalCommSemiring.toNonUnitalSemiring.{u2} R (CommSemiring.toNonUnitalCommSemiring.{u2} R _inst_1))))) r r')) -> (forall (φ : MvPolynomial.{u1, u2} σ R _inst_1), Iff (Dvd.dvd.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (semigroupDvd.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (SemigroupWithZero.toSemigroup.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (NonUnitalSemiring.toSemigroupWithZero.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (NonUnitalCommSemiring.toNonUnitalSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (CommSemiring.toNonUnitalCommSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (MvPolynomial.commSemiring.{u2, u1} 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 (_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) φ) (Eq.{max (succ u3) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) φ) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, 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) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 q) φ) (OfNat.ofNat.{max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) φ) 0 (Zero.toOfNat0.{max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) φ) (CommMonoidWithZero.toZero.{max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) φ) (CommSemiring.toCommMonoidWithZero.{max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) φ) (MvPolynomial.commSemiring.{u3, u1} S₁ σ _inst_2)))))))
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (q : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (r : R), (forall (r' : R), Iff (Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r') (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) q r') (OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r') 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r') (CommMonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r') (CommSemiring.toCommMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r') _inst_2))))) (Dvd.dvd.{u2} R (semigroupDvd.{u2} R (SemigroupWithZero.toSemigroup.{u2} R (NonUnitalSemiring.toSemigroupWithZero.{u2} R (NonUnitalCommSemiring.toNonUnitalSemiring.{u2} R (CommSemiring.toNonUnitalCommSemiring.{u2} R _inst_1))))) r r')) -> (forall (φ : MvPolynomial.{u1, u2} σ R _inst_1), Iff (Dvd.dvd.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (semigroupDvd.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (SemigroupWithZero.toSemigroup.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (NonUnitalSemiring.toSemigroupWithZero.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (NonUnitalCommSemiring.toNonUnitalSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (CommSemiring.toNonUnitalCommSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (MvPolynomial.commSemiring.{u2, u1} 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 (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : 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) φ) (Eq.{max (succ u3) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) φ) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 q) φ) (OfNat.ofNat.{max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) φ) 0 (Zero.toOfNat0.{max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) φ) (CommMonoidWithZero.toZero.{max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) φ) (CommSemiring.toCommMonoidWithZero.{max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) φ) (MvPolynomial.commSemiring.{u3, u1} S₁ σ _inst_2)))))))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.C_dvd_iff_map_hom_eq_zero MvPolynomial.C_dvd_iff_map_hom_eq_zeroₓ'. -/
theorem C_dvd_iff_map_hom_eq_zero (q : R →+* S₁) (r : R) (hr : ∀ r' : R, q r' = 0 ↔ r ∣ r')
(φ : MvPolynomial σ R) : C r ∣ φ ↔ map q φ = 0 :=
@@ -2436,7 +2436,7 @@ theorem C_dvd_iff_map_hom_eq_zero (q : R →+* S₁) (r : R) (hr : ∀ r' : R, q
lean 3 declaration is
forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : S₁ -> R) (hg : Eq.{succ u1} R (g (OfNat.ofNat.{u2} S₁ 0 (OfNat.mk.{u2} S₁ 0 (Zero.zero.{u2} S₁ (MulZeroClass.toHasZero.{u2} S₁ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))))))))) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) (φ : MvPolynomial.{u3, u2} σ S₁ _inst_2), Iff (Eq.{max (succ u3) (succ u2)} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (coeFn.{max (succ (max u3 u1)) (succ (max u3 u2)), max (succ (max u3 u1)) (succ (max u3 u2))} (RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (fun (_x : RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> (MvPolynomial.{u3, u2} σ S₁ _inst_2)) (RingHom.hasCoeToFun.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (MvPolynomial.map.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f) (Finsupp.mapRange.{u3, u2, u1} (Finsupp.{u3, 0} σ Nat Nat.hasZero) S₁ R (MulZeroClass.toHasZero.{u2} S₁ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))))) (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) g hg φ)) φ) (forall (d : Finsupp.{u3, 0} σ Nat Nat.hasZero), Eq.{succ u2} S₁ (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) f (g (MvPolynomial.coeff.{u2, u3} S₁ σ _inst_2 d φ))) (MvPolynomial.coeff.{u2, u3} S₁ σ _inst_2 d φ))
but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : S₁ -> R) (hg : Eq.{succ u2} R (g (OfNat.ofNat.{u3} S₁ 0 (Zero.toOfNat0.{u3} S₁ (CommMonoidWithZero.toZero.{u3} S₁ (CommSemiring.toCommMonoidWithZero.{u3} S₁ _inst_2))))) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) (φ : MvPolynomial.{u1, u3} σ S₁ _inst_2), Iff (Eq.{max (succ u3) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) (Finsupp.mapRange.{u1, u3, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) S₁ R (CommMonoidWithZero.toZero.{u3} S₁ (CommSemiring.toCommMonoidWithZero.{u3} S₁ _inst_2)) (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) g hg φ)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, 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) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f) (Finsupp.mapRange.{u1, u3, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) S₁ R (CommMonoidWithZero.toZero.{u3} S₁ (CommSemiring.toCommMonoidWithZero.{u3} S₁ _inst_2)) (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) g hg φ)) φ) (forall (d : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) (g (MvPolynomial.coeff.{u3, u1} S₁ σ _inst_2 d φ))) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f (g (MvPolynomial.coeff.{u3, u1} S₁ σ _inst_2 d φ))) (MvPolynomial.coeff.{u3, u1} S₁ σ _inst_2 d φ))
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : S₁ -> R) (hg : Eq.{succ u2} R (g (OfNat.ofNat.{u3} S₁ 0 (Zero.toOfNat0.{u3} S₁ (CommMonoidWithZero.toZero.{u3} S₁ (CommSemiring.toCommMonoidWithZero.{u3} S₁ _inst_2))))) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) (φ : MvPolynomial.{u1, u3} σ S₁ _inst_2), Iff (Eq.{max (succ u3) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) (Finsupp.mapRange.{u1, u3, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) S₁ R (CommMonoidWithZero.toZero.{u3} S₁ (CommSemiring.toCommMonoidWithZero.{u3} S₁ _inst_2)) (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) g hg φ)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f) (Finsupp.mapRange.{u1, u3, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) S₁ R (CommMonoidWithZero.toZero.{u3} S₁ (CommSemiring.toCommMonoidWithZero.{u3} S₁ _inst_2)) (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) g hg φ)) φ) (forall (d : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) (g (MvPolynomial.coeff.{u3, u1} S₁ σ _inst_2 d φ))) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f (g (MvPolynomial.coeff.{u3, u1} S₁ σ _inst_2 d φ))) (MvPolynomial.coeff.{u3, u1} S₁ σ _inst_2 d φ))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.map_map_range_eq_iff MvPolynomial.map_mapRange_eq_iffₓ'. -/
theorem map_mapRange_eq_iff (f : R →+* S₁) (g : S₁ → R) (hg : g 0 = 0) (φ : MvPolynomial σ S₁) :
map f (Finsupp.mapRange g hg φ) = φ ↔ ∀ d, f (g (coeff d φ)) = coeff d φ :=
@@ -2503,7 +2503,7 @@ variable (f : σ → S₁)
lean 3 declaration is
forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : Algebra.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2)] (r : R), Eq.{max (succ u3) (succ u2)} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (coeFn.{max (succ u1) (succ (max u3 u2)), max (succ u1) (succ (max u3 u2))} (RingHom.{u1, max u3 u2} R (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (fun (_x : RingHom.{u1, max u3 u2} R (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) => R -> (MvPolynomial.{u3, u2} σ S₁ _inst_2)) (RingHom.hasCoeToFun.{u1, max u3 u2} R (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (algebraMap.{u1, max u3 u2} R (MvPolynomial.{u3, u2} σ S₁ _inst_2) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)) (MvPolynomial.algebra.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 _inst_3)) r) (coeFn.{max (succ u2) (succ (max u3 u2)), max (succ u2) (succ (max u3 u2))} (RingHom.{u2, max u3 u2} S₁ (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (fun (_x : RingHom.{u2, max u3 u2} S₁ (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) => S₁ -> (MvPolynomial.{u3, u2} σ S₁ _inst_2)) (RingHom.hasCoeToFun.{u2, max u3 u2} S₁ (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (MvPolynomial.C.{u2, u3} S₁ σ _inst_2) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (algebraMap.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) _inst_3) r))
but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : Algebra.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2)] (r : R), Eq.{max (succ u3) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u3} σ S₁ _inst_2) r) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), succ u2, max (succ u3) (succ u1)} (RingHom.{u2, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} 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)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, u2, max u3 u1} (RingHom.{u2, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} 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)))) R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} 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 u2 u3) u1, u2, max u3 u1} (RingHom.{u2, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} 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)))) R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} 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 u2 u3) u1, u2, max u3 u1} (RingHom.{u2, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} 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)))) R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} 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.{u2, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} 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))))))) (algebraMap.{u2, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u3, u1} S₁ σ _inst_2)) (MvPolynomial.algebra.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_3)) r) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (RingHom.{u3, max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) σ _inst_2)))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) => MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2) _x) (MulHomClass.toFunLike.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) σ _inst_2)))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2) (NonUnitalNonAssocSemiring.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{max u1 u3} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) σ _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) σ _inst_2)))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) σ _inst_2)))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) σ _inst_2)))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) σ _inst_2))) (RingHom.instRingHomClassRingHom.{u3, max u1 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) σ _inst_2))))))) (MvPolynomial.C.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) σ _inst_2) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (algebraMap.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3) r))
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : Algebra.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2)] (r : R), Eq.{max (succ u3) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u3} σ S₁ _inst_2) r) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), succ u2, max (succ u3) (succ u1)} (RingHom.{u2, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} 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)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, u2, max u3 u1} (RingHom.{u2, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} 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)))) R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} 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 u2 u3) u1, u2, max u3 u1} (RingHom.{u2, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} 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)))) R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} 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 u2 u3) u1, u2, max u3 u1} (RingHom.{u2, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} 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)))) R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} 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.{u2, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} 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))))))) (algebraMap.{u2, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u3, u1} S₁ σ _inst_2)) (MvPolynomial.algebra.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_3)) r) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (RingHom.{u3, max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) σ _inst_2)))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) => MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2) _x) (MulHomClass.toFunLike.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) σ _inst_2)))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2) (NonUnitalNonAssocSemiring.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{max u1 u3} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) σ _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) σ _inst_2)))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) σ _inst_2)))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) σ _inst_2)))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) σ _inst_2))) (RingHom.instRingHomClassRingHom.{u3, max u1 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) σ _inst_2))))))) (MvPolynomial.C.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) σ _inst_2) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (algebraMap.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3) r))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.algebra_map_apply MvPolynomial.algebraMap_applyₓ'. -/
theorem algebraMap_apply (r : R) : algebraMap R (MvPolynomial σ S₁) r = C (algebraMap R S₁ r) :=
rfl
@@ -2531,7 +2531,7 @@ theorem aeval_def (p : MvPolynomial σ R) : aeval f p = eval₂ (algebraMap R S
lean 3 declaration is
forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : Algebra.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2)] (f : σ -> S₁) (p : MvPolynomial.{u3, u1} σ R _inst_1), Eq.{succ u2} S₁ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (fun (_x : AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) ([anonymous].{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (MvPolynomial.aeval.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 _inst_3 f) p) (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (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))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (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))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) (RingHom.hasCoeToFun.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (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))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (MvPolynomial.eval₂Hom.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 (algebraMap.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) _inst_3) f) p)
but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : Algebra.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2)] (f : σ -> S₁) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) p) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u1) (succ u2), succ u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (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) => S₁) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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, 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.{u2, 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.{u2, u3} R S₁ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{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.{u2, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, 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.{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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u1 u2, u3, max (max u3 u1) u2} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3 (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (AlgHom.algHomClass.{u2, max u1 u2, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3))))) (MvPolynomial.aeval.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_3 f) p) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} 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 u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} 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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 (algebraMap.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3) f) p)
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : Algebra.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2)] (f : σ -> S₁) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) p) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u1) (succ u2), succ u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (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) => S₁) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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, 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.{u2, 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.{u2, u3} R S₁ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{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.{u2, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, 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.{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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u1 u2, u3, max (max u3 u1) u2} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3 (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (AlgHom.algHomClass.{u2, max u1 u2, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3))))) (MvPolynomial.aeval.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_3 f) p) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} 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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 (algebraMap.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3) f) p)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_eq_eval₂_hom MvPolynomial.aeval_eq_eval₂Homₓ'. -/
theorem aeval_eq_eval₂Hom (p : MvPolynomial σ R) : aeval f p = eval₂Hom (algebraMap R S₁) f p :=
rfl
@@ -2552,7 +2552,7 @@ theorem aeval_X (s : σ) : aeval f (X s : MvPolynomial _ R) = f s :=
lean 3 declaration is
forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : Algebra.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2)] (f : σ -> S₁) (r : R), Eq.{succ u2} S₁ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (fun (_x : AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) ([anonymous].{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (MvPolynomial.aeval.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 _inst_3 f) (coeFn.{max (succ u1) (succ (max u3 u1)), max (succ u1) (succ (max u3 u1))} (RingHom.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u3, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u3} R σ _inst_1) r)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (algebraMap.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) _inst_3) r)
but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : Algebra.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2)] (f : σ -> S₁) (r : R), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) (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 u3) (succ u1)) (succ u2), max (succ u1) (succ u2), succ u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (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) => S₁) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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, 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.{u2, 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.{u2, u3} R S₁ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{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.{u2, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, 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.{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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u1 u2, u3, max (max u3 u1) u2} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3 (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (AlgHom.algHomClass.{u2, max u1 u2, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3))))) (MvPolynomial.aeval.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_3 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 u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (algebraMap.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3) r)
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : Algebra.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2)] (f : σ -> S₁) (r : R), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) (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.2397 : 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 u3) (succ u1)) (succ u2), max (succ u1) (succ u2), succ u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (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) => S₁) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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, 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.{u2, 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.{u2, u3} R S₁ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{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.{u2, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, 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.{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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u1 u2, u3, max (max u3 u1) u2} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3 (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (AlgHom.algHomClass.{u2, max u1 u2, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3))))) (MvPolynomial.aeval.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_3 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.2397 : 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 u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (algebraMap.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3) r)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_C MvPolynomial.aeval_Cₓ'. -/
@[simp]
theorem aeval_C (r : R) : aeval f (C r) = algebraMap R S₁ r :=
@@ -2608,7 +2608,7 @@ theorem comp_aeval {B : Type _} [CommSemiring B] [Algebra R B] (φ : S₁ →ₐ
lean 3 declaration is
forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : Algebra.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2)] {B : Type.{u4}} [_inst_5 : CommSemiring.{u4} B] (g : σ -> S₁) (φ : RingHom.{u2, u4} S₁ B (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} B (CommSemiring.toSemiring.{u4} B _inst_5))) (p : MvPolynomial.{u3, u1} σ R _inst_1), Eq.{succ u4} B (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (RingHom.{u2, u4} S₁ B (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} B (CommSemiring.toSemiring.{u4} B _inst_5))) (fun (_x : RingHom.{u2, u4} S₁ B (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} B (CommSemiring.toSemiring.{u4} B _inst_5))) => S₁ -> B) (RingHom.hasCoeToFun.{u2, u4} S₁ B (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} B (CommSemiring.toSemiring.{u4} B _inst_5))) φ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (fun (_x : AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) ([anonymous].{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (MvPolynomial.aeval.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 _inst_3 g) p)) (coeFn.{max (succ (max u3 u1)) (succ u4), max (succ (max u3 u1)) (succ u4)} (RingHom.{max u3 u1, u4} (MvPolynomial.{u3, u1} σ R _inst_1) B (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))) (Semiring.toNonAssocSemiring.{u4} B (CommSemiring.toSemiring.{u4} B _inst_5))) (fun (_x : RingHom.{max u3 u1, u4} (MvPolynomial.{u3, u1} σ R _inst_1) B (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))) (Semiring.toNonAssocSemiring.{u4} B (CommSemiring.toSemiring.{u4} B _inst_5))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> B) (RingHom.hasCoeToFun.{max u3 u1, u4} (MvPolynomial.{u3, u1} σ R _inst_1) B (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))) (Semiring.toNonAssocSemiring.{u4} B (CommSemiring.toSemiring.{u4} B _inst_5))) (MvPolynomial.eval₂Hom.{u1, u4, u3} R B σ _inst_1 _inst_5 (RingHom.comp.{u1, u2, u4} R S₁ B (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} B (CommSemiring.toSemiring.{u4} B _inst_5)) φ (algebraMap.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) _inst_3)) (fun (i : σ) => coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (RingHom.{u2, u4} S₁ B (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} B (CommSemiring.toSemiring.{u4} B _inst_5))) (fun (_x : RingHom.{u2, u4} S₁ B (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} B (CommSemiring.toSemiring.{u4} B _inst_5))) => S₁ -> B) (RingHom.hasCoeToFun.{u2, u4} S₁ B (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} B (CommSemiring.toSemiring.{u4} B _inst_5))) φ (g i))) p)
but is expected to have type
- forall {R : Type.{u3}} {S₁ : Type.{u4}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] [_inst_2 : CommSemiring.{u4} S₁] [_inst_3 : Algebra.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2)] {B : Type.{u2}} [_inst_5 : CommSemiring.{u2} B] (g : σ -> S₁) (φ : RingHom.{u4, u2} S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) (p : MvPolynomial.{u1, u3} σ R _inst_1), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S₁) => B) (FunLike.coe.{max (max (succ u4) (succ u1)) (succ u3), max (succ u1) (succ u3), succ u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) (fun (a : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u3} σ R _inst_1) => S₁) a) (SMulHomClass.toFunLike.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (SMulZeroClass.toSMul.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toZero.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))))))) (SMulZeroClass.toSMul.{u3, u4} R S₁ (AddMonoid.toZero.{u4} S₁ (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))))) (DistribSMul.toSMulZeroClass.{u3, u4} R S₁ (AddMonoid.toAddZeroClass.{u4} S₁ (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))))) (DistribMulAction.toDistribSMul.{u3, u4} R S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u3, max u1 u3, u4, max (max u4 u1) u3} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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 (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) (AlgHom.algHomClass.{u3, max u1 u3, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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 g) p)) (FunLike.coe.{max (succ u4) (succ u2), succ u4, succ u2} (RingHom.{u4, u2} S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) S₁ (fun (_x : S₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S₁) => B) _x) (MulHomClass.toFunLike.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) S₁ B (NonUnitalNonAssocSemiring.toMul.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) S₁ B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) (RingHomClass.toNonUnitalRingHomClass.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)) (RingHom.instRingHomClassRingHom.{u4, u2} S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)))))) φ (FunLike.coe.{max (max (succ u4) (succ u1)) (succ u3), max (succ u1) (succ u3), succ u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u3} σ R _inst_1) => S₁) _x) (SMulHomClass.toFunLike.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (SMulZeroClass.toSMul.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toZero.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))))))) (SMulZeroClass.toSMul.{u3, u4} R S₁ (AddMonoid.toZero.{u4} S₁ (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))))) (DistribSMul.toSMulZeroClass.{u3, u4} R S₁ (AddMonoid.toAddZeroClass.{u4} S₁ (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))))) (DistribMulAction.toDistribSMul.{u3, u4} R S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u3, max u1 u3, u4, max (max u4 u1) u3} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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 (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) (AlgHom.algHomClass.{u3, max u1 u3, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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 g) p)) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u1), succ u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) B (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) (MvPolynomial.{u1, u3} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ R _inst_1) => B) _x) (MulHomClass.toFunLike.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) B (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) (MvPolynomial.{u1, u3} σ R _inst_1) B (NonUnitalNonAssocSemiring.toMul.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) B (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) (MvPolynomial.{u1, u3} σ R _inst_1) B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) (RingHomClass.toNonUnitalRingHomClass.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) B (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) (MvPolynomial.{u1, u3} σ R _inst_1) B (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)) (RingHom.instRingHomClassRingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) B (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)))))) (MvPolynomial.eval₂Hom.{u3, u2, u1} R B σ _inst_1 _inst_5 (RingHom.comp.{u3, u4, u2} R S₁ B (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)) φ (algebraMap.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3)) (fun (i : σ) => FunLike.coe.{max (succ u4) (succ u2), succ u4, succ u2} (RingHom.{u4, u2} S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) S₁ (fun (_x : S₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S₁) => B) _x) (MulHomClass.toFunLike.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) S₁ B (NonUnitalNonAssocSemiring.toMul.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) S₁ B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) (RingHomClass.toNonUnitalRingHomClass.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)) (RingHom.instRingHomClassRingHom.{u4, u2} S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)))))) φ (g i))) p)
+ forall {R : Type.{u3}} {S₁ : Type.{u4}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] [_inst_2 : CommSemiring.{u4} S₁] [_inst_3 : Algebra.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2)] {B : Type.{u2}} [_inst_5 : CommSemiring.{u2} B] (g : σ -> S₁) (φ : RingHom.{u4, u2} S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) (p : MvPolynomial.{u1, u3} σ R _inst_1), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S₁) => B) (FunLike.coe.{max (max (succ u4) (succ u1)) (succ u3), max (succ u1) (succ u3), succ u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) (fun (a : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u3} σ R _inst_1) => S₁) a) (SMulHomClass.toFunLike.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (SMulZeroClass.toSMul.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toZero.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))))))) (SMulZeroClass.toSMul.{u3, u4} R S₁ (AddMonoid.toZero.{u4} S₁ (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))))) (DistribSMul.toSMulZeroClass.{u3, u4} R S₁ (AddMonoid.toAddZeroClass.{u4} S₁ (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))))) (DistribMulAction.toDistribSMul.{u3, u4} R S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u3, max u1 u3, u4, max (max u4 u1) u3} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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 (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) (AlgHom.algHomClass.{u3, max u1 u3, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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 g) p)) (FunLike.coe.{max (succ u4) (succ u2), succ u4, succ u2} (RingHom.{u4, u2} S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) S₁ (fun (_x : S₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S₁) => B) _x) (MulHomClass.toFunLike.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) S₁ B (NonUnitalNonAssocSemiring.toMul.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) S₁ B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) (RingHomClass.toNonUnitalRingHomClass.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)) (RingHom.instRingHomClassRingHom.{u4, u2} S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)))))) φ (FunLike.coe.{max (max (succ u4) (succ u1)) (succ u3), max (succ u1) (succ u3), succ u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u3} σ R _inst_1) => S₁) _x) (SMulHomClass.toFunLike.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (SMulZeroClass.toSMul.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toZero.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))))))) (SMulZeroClass.toSMul.{u3, u4} R S₁ (AddMonoid.toZero.{u4} S₁ (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))))) (DistribSMul.toSMulZeroClass.{u3, u4} R S₁ (AddMonoid.toAddZeroClass.{u4} S₁ (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))))) (DistribMulAction.toDistribSMul.{u3, u4} R S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u3, max u1 u3, u4, max (max u4 u1) u3} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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 (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) (AlgHom.algHomClass.{u3, max u1 u3, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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 g) p)) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u1), succ u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) B (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) (MvPolynomial.{u1, u3} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u3} σ R _inst_1) => B) _x) (MulHomClass.toFunLike.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) B (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) (MvPolynomial.{u1, u3} σ R _inst_1) B (NonUnitalNonAssocSemiring.toMul.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) B (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) (MvPolynomial.{u1, u3} σ R _inst_1) B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) (RingHomClass.toNonUnitalRingHomClass.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) B (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) (MvPolynomial.{u1, u3} σ R _inst_1) B (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)) (RingHom.instRingHomClassRingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) B (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)))))) (MvPolynomial.eval₂Hom.{u3, u2, u1} R B σ _inst_1 _inst_5 (RingHom.comp.{u3, u4, u2} R S₁ B (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)) φ (algebraMap.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3)) (fun (i : σ) => FunLike.coe.{max (succ u4) (succ u2), succ u4, succ u2} (RingHom.{u4, u2} S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) S₁ (fun (_x : S₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S₁) => B) _x) (MulHomClass.toFunLike.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) S₁ B (NonUnitalNonAssocSemiring.toMul.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) S₁ B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) (RingHomClass.toNonUnitalRingHomClass.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)) (RingHom.instRingHomClassRingHom.{u4, u2} S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)))))) φ (g i))) p)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.map_aeval MvPolynomial.map_aevalₓ'. -/
@[simp]
theorem map_aeval {B : Type _} [CommSemiring B] (g : σ → S₁) (φ : S₁ →+* B) (p : MvPolynomial σ R) :
@@ -2644,7 +2644,7 @@ theorem eval₂Hom_zero' (f : R →+* S₂) : eval₂Hom f (fun _ => 0 : σ →
lean 3 declaration is
forall {R : Type.{u1}} {S₂ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_4 : CommSemiring.{u2} S₂] (f : RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (p : MvPolynomial.{u3, u1} σ R _inst_1), Eq.{succ u2} S₂ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (fun (_x : RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₂) (RingHom.hasCoeToFun.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (MvPolynomial.eval₂Hom.{u1, u2, u3} R S₂ σ _inst_1 _inst_4 f (OfNat.ofNat.{max u3 u2} (σ -> S₂) 0 (OfNat.mk.{max u3 u2} (σ -> S₂) 0 (Zero.zero.{max u3 u2} (σ -> S₂) (Pi.instZero.{u3, u2} σ (fun (ᾰ : σ) => S₂) (fun (i : σ) => MulZeroClass.toHasZero.{u2} S₂ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4)))))))))) p) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (fun (_x : RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) => R -> S₂) (RingHom.hasCoeToFun.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) f (coeFn.{max (succ (max u3 u1)) (succ u1), max (succ (max u3 u1)) (succ u1)} (RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.constantCoeff.{u1, u3} R σ _inst_1) p))
but is expected to have type
- forall {R : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_4 : CommSemiring.{u3} S₂] (f : RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) p) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (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 u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₂ σ _inst_1 _inst_4 f (OfNat.ofNat.{max u3 u1} (σ -> S₂) 0 (Zero.toOfNat0.{max u3 u1} (σ -> S₂) (Pi.instZero.{u1, u3} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.20654 : σ) => S₂) (fun (i : σ) => CommMonoidWithZero.toZero.{u3} S₂ (CommSemiring.toCommMonoidWithZero.{u3} S₂ _inst_4)))))) p) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₂) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))))) f (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (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) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) p))
+ forall {R : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_4 : CommSemiring.{u3} S₂] (f : RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) p) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₂ σ _inst_1 _inst_4 f (OfNat.ofNat.{max u3 u1} (σ -> S₂) 0 (Zero.toOfNat0.{max u3 u1} (σ -> S₂) (Pi.instZero.{u1, u3} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.20654 : σ) => S₂) (fun (i : σ) => CommMonoidWithZero.toZero.{u3} S₂ (CommSemiring.toCommMonoidWithZero.{u3} S₂ _inst_4)))))) p) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₂) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))))) f (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) p))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_hom_zero_apply MvPolynomial.eval₂Hom_zero_applyₓ'. -/
theorem eval₂Hom_zero_apply (f : R →+* S₂) (p : MvPolynomial σ R) :
eval₂Hom f (0 : σ → S₂) p = f (constantCoeff p) :=
@@ -2655,7 +2655,7 @@ theorem eval₂Hom_zero_apply (f : R →+* S₂) (p : MvPolynomial σ R) :
lean 3 declaration is
forall {R : Type.{u1}} {S₂ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_4 : CommSemiring.{u2} S₂] (f : RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (p : MvPolynomial.{u3, u1} σ R _inst_1), Eq.{succ u2} S₂ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (fun (_x : RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₂) (RingHom.hasCoeToFun.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (MvPolynomial.eval₂Hom.{u1, u2, u3} R S₂ σ _inst_1 _inst_4 f (fun (_x : σ) => OfNat.ofNat.{u2} S₂ 0 (OfNat.mk.{u2} S₂ 0 (Zero.zero.{u2} S₂ (MulZeroClass.toHasZero.{u2} S₂ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))))))))) p) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (fun (_x : RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) => R -> S₂) (RingHom.hasCoeToFun.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) f (coeFn.{max (succ (max u3 u1)) (succ u1), max (succ (max u3 u1)) (succ u1)} (RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.constantCoeff.{u1, u3} R σ _inst_1) p))
but is expected to have type
- forall {R : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_4 : CommSemiring.{u3} S₂] (f : RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) p) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (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 u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₂ σ _inst_1 _inst_4 f (fun (_x : σ) => OfNat.ofNat.{u3} S₂ 0 (Zero.toOfNat0.{u3} S₂ (CommMonoidWithZero.toZero.{u3} S₂ (CommSemiring.toCommMonoidWithZero.{u3} S₂ _inst_4))))) p) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₂) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))))) f (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (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) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) p))
+ forall {R : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_4 : CommSemiring.{u3} S₂] (f : RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) p) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₂ σ _inst_1 _inst_4 f (fun (_x : σ) => OfNat.ofNat.{u3} S₂ 0 (Zero.toOfNat0.{u3} S₂ (CommMonoidWithZero.toZero.{u3} S₂ (CommSemiring.toCommMonoidWithZero.{u3} S₂ _inst_4))))) p) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₂) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))))) f (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) p))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_hom_zero'_apply MvPolynomial.eval₂Hom_zero'_applyₓ'. -/
theorem eval₂Hom_zero'_apply (f : R →+* S₂) (p : MvPolynomial σ R) :
eval₂Hom f (fun _ => 0 : σ → S₂) p = f (constantCoeff p) :=
@@ -2666,7 +2666,7 @@ theorem eval₂Hom_zero'_apply (f : R →+* S₂) (p : MvPolynomial σ R) :
lean 3 declaration is
forall {R : Type.{u1}} {S₂ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_4 : CommSemiring.{u2} S₂] (f : RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (p : MvPolynomial.{u3, u1} σ R _inst_1), Eq.{succ u2} S₂ (MvPolynomial.eval₂.{u1, u2, u3} R S₂ σ _inst_1 _inst_4 f (OfNat.ofNat.{max u3 u2} (σ -> S₂) 0 (OfNat.mk.{max u3 u2} (σ -> S₂) 0 (Zero.zero.{max u3 u2} (σ -> S₂) (Pi.instZero.{u3, u2} σ (fun (ᾰ : σ) => S₂) (fun (i : σ) => MulZeroClass.toHasZero.{u2} S₂ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))))))))) p) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (fun (_x : RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) => R -> S₂) (RingHom.hasCoeToFun.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) f (coeFn.{max (succ (max u3 u1)) (succ u1), max (succ (max u3 u1)) (succ u1)} (RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.constantCoeff.{u1, u3} R σ _inst_1) p))
but is expected to have type
- forall {R : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_4 : CommSemiring.{u3} S₂] (f : RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} S₂ (MvPolynomial.eval₂.{u2, u3, u1} R S₂ σ _inst_1 _inst_4 f (OfNat.ofNat.{max u3 u1} (σ -> S₂) 0 (Zero.toOfNat0.{max u3 u1} (σ -> S₂) (Pi.instZero.{u1, u3} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.20813 : σ) => S₂) (fun (i : σ) => CommMonoidWithZero.toZero.{u3} S₂ (CommSemiring.toCommMonoidWithZero.{u3} S₂ _inst_4))))) p) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₂) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))))) f (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (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) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) p))
+ forall {R : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_4 : CommSemiring.{u3} S₂] (f : RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} S₂ (MvPolynomial.eval₂.{u2, u3, u1} R S₂ σ _inst_1 _inst_4 f (OfNat.ofNat.{max u3 u1} (σ -> S₂) 0 (Zero.toOfNat0.{max u3 u1} (σ -> S₂) (Pi.instZero.{u1, u3} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.20813 : σ) => S₂) (fun (i : σ) => CommMonoidWithZero.toZero.{u3} S₂ (CommSemiring.toCommMonoidWithZero.{u3} S₂ _inst_4))))) p) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₂) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))))) f (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) p))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_zero_apply MvPolynomial.eval₂_zero_applyₓ'. -/
@[simp]
theorem eval₂_zero_apply (f : R →+* S₂) (p : MvPolynomial σ R) :
@@ -2678,7 +2678,7 @@ theorem eval₂_zero_apply (f : R →+* S₂) (p : MvPolynomial σ R) :
lean 3 declaration is
forall {R : Type.{u1}} {S₂ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_4 : CommSemiring.{u2} S₂] (f : RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (p : MvPolynomial.{u3, u1} σ R _inst_1), Eq.{succ u2} S₂ (MvPolynomial.eval₂.{u1, u2, u3} R S₂ σ _inst_1 _inst_4 f (fun (_x : σ) => OfNat.ofNat.{u2} S₂ 0 (OfNat.mk.{u2} S₂ 0 (Zero.zero.{u2} S₂ (MulZeroClass.toHasZero.{u2} S₂ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4)))))))) p) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (fun (_x : RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) => R -> S₂) (RingHom.hasCoeToFun.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) f (coeFn.{max (succ (max u3 u1)) (succ u1), max (succ (max u3 u1)) (succ u1)} (RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.constantCoeff.{u1, u3} R σ _inst_1) p))
but is expected to have type
- forall {R : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_4 : CommSemiring.{u3} S₂] (f : RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} S₂ (MvPolynomial.eval₂.{u2, u3, u1} R S₂ σ _inst_1 _inst_4 f (fun (_x : σ) => OfNat.ofNat.{u3} S₂ 0 (Zero.toOfNat0.{u3} S₂ (CommMonoidWithZero.toZero.{u3} S₂ (CommSemiring.toCommMonoidWithZero.{u3} S₂ _inst_4)))) p) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₂) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))))) f (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (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) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) p))
+ forall {R : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_4 : CommSemiring.{u3} S₂] (f : RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} S₂ (MvPolynomial.eval₂.{u2, u3, u1} R S₂ σ _inst_1 _inst_4 f (fun (_x : σ) => OfNat.ofNat.{u3} S₂ 0 (Zero.toOfNat0.{u3} S₂ (CommMonoidWithZero.toZero.{u3} S₂ (CommSemiring.toCommMonoidWithZero.{u3} S₂ _inst_4)))) p) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₂) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))))) f (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) p))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_zero'_apply MvPolynomial.eval₂_zero'_applyₓ'. -/
@[simp]
theorem eval₂_zero'_apply (f : R →+* S₂) (p : MvPolynomial σ R) :
@@ -2690,7 +2690,7 @@ theorem eval₂_zero'_apply (f : R →+* S₂) (p : MvPolynomial σ R) :
lean 3 declaration is
forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : Algebra.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2)] (p : MvPolynomial.{u3, u1} σ R _inst_1), Eq.{succ u2} S₁ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (fun (_x : AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) ([anonymous].{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (MvPolynomial.aeval.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 _inst_3 (OfNat.ofNat.{max u3 u2} (σ -> S₁) 0 (OfNat.mk.{max u3 u2} (σ -> S₁) 0 (Zero.zero.{max u3 u2} (σ -> S₁) (Pi.instZero.{u3, u2} σ (fun (ᾰ : σ) => S₁) (fun (i : σ) => MulZeroClass.toHasZero.{u2} S₁ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))))))))) p) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (algebraMap.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) _inst_3) (coeFn.{max (succ (max u3 u1)) (succ u1), max (succ (max u3 u1)) (succ u1)} (RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.constantCoeff.{u1, u3} R σ _inst_1) p))
but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : Algebra.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2)] (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) p) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u1) (succ u2), succ u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (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) => S₁) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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, 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.{u2, 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.{u2, u3} R S₁ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{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.{u2, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, 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.{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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u1 u2, u3, max (max u3 u1) u2} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3 (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (AlgHom.algHomClass.{u2, max u1 u2, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3))))) (MvPolynomial.aeval.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_3 (OfNat.ofNat.{max u3 u1} (σ -> S₁) 0 (Zero.toOfNat0.{max u3 u1} (σ -> S₁) (Pi.instZero.{u1, u3} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.20961 : σ) => S₁) (fun (i : σ) => CommMonoidWithZero.toZero.{u3} S₁ (CommSemiring.toCommMonoidWithZero.{u3} S₁ _inst_2)))))) p) (FunLike.coe.{max (succ u3) (succ u2), succ u2, succ u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) => S₁) _x) (MulHomClass.toFunLike.{max u3 u2, u2, u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (NonUnitalNonAssocSemiring.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u2, u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u2, u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (algebraMap.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (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) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) p))
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : Algebra.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2)] (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) p) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u1) (succ u2), succ u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (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) => S₁) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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, 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.{u2, 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.{u2, u3} R S₁ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{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.{u2, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, 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.{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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u1 u2, u3, max (max u3 u1) u2} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3 (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (AlgHom.algHomClass.{u2, max u1 u2, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3))))) (MvPolynomial.aeval.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_3 (OfNat.ofNat.{max u3 u1} (σ -> S₁) 0 (Zero.toOfNat0.{max u3 u1} (σ -> S₁) (Pi.instZero.{u1, u3} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.20961 : σ) => S₁) (fun (i : σ) => CommMonoidWithZero.toZero.{u3} S₁ (CommSemiring.toCommMonoidWithZero.{u3} S₁ _inst_2)))))) p) (FunLike.coe.{max (succ u3) (succ u2), succ u2, succ u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) => S₁) _x) (MulHomClass.toFunLike.{max u3 u2, u2, u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (NonUnitalNonAssocSemiring.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u2, u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u2, u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (algebraMap.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) p))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_zero MvPolynomial.aeval_zeroₓ'. -/
@[simp]
theorem aeval_zero (p : MvPolynomial σ R) :
@@ -2702,7 +2702,7 @@ theorem aeval_zero (p : MvPolynomial σ R) :
lean 3 declaration is
forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : Algebra.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2)] (p : MvPolynomial.{u3, u1} σ R _inst_1), Eq.{succ u2} S₁ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (fun (_x : AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) ([anonymous].{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (MvPolynomial.aeval.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 _inst_3 (fun (_x : σ) => OfNat.ofNat.{u2} S₁ 0 (OfNat.mk.{u2} S₁ 0 (Zero.zero.{u2} S₁ (MulZeroClass.toHasZero.{u2} S₁ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))))))))) p) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (algebraMap.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) _inst_3) (coeFn.{max (succ (max u3 u1)) (succ u1), max (succ (max u3 u1)) (succ u1)} (RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.constantCoeff.{u1, u3} R σ _inst_1) p))
but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : Algebra.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2)] (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) p) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u1) (succ u2), succ u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (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) => S₁) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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, 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.{u2, 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.{u2, u3} R S₁ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{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.{u2, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, 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.{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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u1 u2, u3, max (max u3 u1) u2} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3 (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (AlgHom.algHomClass.{u2, max u1 u2, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3))))) (MvPolynomial.aeval.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_3 (fun (_x : σ) => OfNat.ofNat.{u3} S₁ 0 (Zero.toOfNat0.{u3} S₁ (CommMonoidWithZero.toZero.{u3} S₁ (CommSemiring.toCommMonoidWithZero.{u3} S₁ _inst_2))))) p) (FunLike.coe.{max (succ u3) (succ u2), succ u2, succ u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) => S₁) _x) (MulHomClass.toFunLike.{max u3 u2, u2, u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (NonUnitalNonAssocSemiring.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u2, u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u2, u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (algebraMap.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (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) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) p))
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : Algebra.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2)] (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) p) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u1) (succ u2), succ u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (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) => S₁) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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, 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.{u2, 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.{u2, u3} R S₁ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{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.{u2, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, 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.{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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u1 u2, u3, max (max u3 u1) u2} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3 (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (AlgHom.algHomClass.{u2, max u1 u2, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3))))) (MvPolynomial.aeval.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_3 (fun (_x : σ) => OfNat.ofNat.{u3} S₁ 0 (Zero.toOfNat0.{u3} S₁ (CommMonoidWithZero.toZero.{u3} S₁ (CommSemiring.toCommMonoidWithZero.{u3} S₁ _inst_2))))) p) (FunLike.coe.{max (succ u3) (succ u2), succ u2, succ u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) => S₁) _x) (MulHomClass.toFunLike.{max u3 u2, u2, u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (NonUnitalNonAssocSemiring.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u2, u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u2, u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (algebraMap.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) p))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_zero' MvPolynomial.aeval_zero'ₓ'. -/
@[simp]
theorem aeval_zero' (p : MvPolynomial σ R) :
@@ -2736,7 +2736,7 @@ theorem eval_zero' : eval (fun _ => 0 : σ → R) = constantCoeff :=
lean 3 declaration is
forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : Algebra.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2)] (g : σ -> S₁) (d : Finsupp.{u3, 0} σ Nat Nat.hasZero) (r : R), Eq.{succ u2} S₁ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (fun (_x : AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) ([anonymous].{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (MvPolynomial.aeval.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 _inst_3 g) (coeFn.{max (succ u1) (succ (max u3 u1)), max (succ u1) (succ (max u3 u1))} (LinearMap.{u1, u1, u1, max u3 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u3 u1} 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 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))))) (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 -> (MvPolynomial.{u3, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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)) (HMul.hMul.{u2, u2, u2} S₁ S₁ S₁ (instHMul.{u2} S₁ (Distrib.toHasMul.{u2} S₁ (NonUnitalNonAssocSemiring.toDistrib.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (algebraMap.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) _inst_3) r) (Finsupp.prod.{u3, 0, u2} σ Nat S₁ Nat.hasZero (CommSemiring.toCommMonoid.{u2} S₁ _inst_2) d (fun (i : σ) (k : Nat) => HPow.hPow.{u2, 0, u2} S₁ Nat S₁ (instHPow.{u2, 0} S₁ Nat (Monoid.Pow.{u2} S₁ (MonoidWithZero.toMonoid.{u2} S₁ (Semiring.toMonoidWithZero.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))))) (g i) k)))
but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : Algebra.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2)] (g : σ -> S₁) (d : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (r : R), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 d) r)) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u1) (succ u2), succ u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (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) => S₁) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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, 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.{u2, 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.{u2, u3} R S₁ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{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.{u2, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, 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.{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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u1 u2, u3, max (max u3 u1) u2} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3 (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (AlgHom.algHomClass.{u2, max u1 u2, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3))))) (MvPolynomial.aeval.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_3 g) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 d) r)) (HMul.hMul.{u3, u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) S₁ ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 d) r)) (instHMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (NonUnitalNonAssocSemiring.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2))))) (FunLike.coe.{max (succ u3) (succ u2), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) _x) (MulHomClass.toFunLike.{max u3 u2, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (algebraMap.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3) r) (Finsupp.prod.{u1, 0, u3} σ Nat S₁ (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (CommSemiring.toCommMonoid.{u3} S₁ _inst_2) d (fun (i : σ) (k : Nat) => HPow.hPow.{u3, 0, u3} S₁ Nat S₁ (instHPow.{u3, 0} S₁ Nat (Monoid.Pow.{u3} S₁ (MonoidWithZero.toMonoid.{u3} S₁ (Semiring.toMonoidWithZero.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))))) (g i) k)))
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : Algebra.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2)] (g : σ -> S₁) (d : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (r : R), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 d) r)) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u1) (succ u2), succ u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (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) => S₁) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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, 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.{u2, 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.{u2, u3} R S₁ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{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.{u2, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, 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.{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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u1 u2, u3, max (max u3 u1) u2} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3 (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (AlgHom.algHomClass.{u2, max u1 u2, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3))))) (MvPolynomial.aeval.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_3 g) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 d) r)) (HMul.hMul.{u3, u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) S₁ ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 d) r)) (instHMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (NonUnitalNonAssocSemiring.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) r) _inst_2))))) (FunLike.coe.{max (succ u3) (succ u2), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S₁) _x) (MulHomClass.toFunLike.{max u3 u2, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (algebraMap.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3) r) (Finsupp.prod.{u1, 0, u3} σ Nat S₁ (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (CommSemiring.toCommMonoid.{u3} S₁ _inst_2) d (fun (i : σ) (k : Nat) => HPow.hPow.{u3, 0, u3} S₁ Nat S₁ (instHPow.{u3, 0} S₁ Nat (Monoid.Pow.{u3} S₁ (MonoidWithZero.toMonoid.{u3} S₁ (Semiring.toMonoidWithZero.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))))) (g i) k)))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_monomial MvPolynomial.aeval_monomialₓ'. -/
theorem aeval_monomial (g : σ → S₁) (d : σ →₀ ℕ) (r : R) :
aeval g (monomial d r) = algebraMap _ _ r * d.Prod fun i k => g i ^ k :=
@@ -2747,7 +2747,7 @@ theorem aeval_monomial (g : σ → S₁) (d : σ →₀ ℕ) (r : R) :
lean 3 declaration is
forall {R : Type.{u1}} {S₂ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_4 : CommSemiring.{u2} S₂] (f : RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (g : σ -> S₂) (φ : MvPolynomial.{u3, u1} σ R _inst_1), (forall (d : Finsupp.{u3, 0} σ Nat Nat.hasZero), (Ne.{succ u1} R (MvPolynomial.coeff.{u1, u3} R σ _inst_1 d φ) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) -> (Exists.{succ u3} σ (fun (i : σ) => Exists.{0} (Membership.Mem.{u3, u3} σ (Finset.{u3} σ) (Finset.hasMem.{u3} σ) i (Finsupp.support.{u3, 0} σ Nat Nat.hasZero d)) (fun (H : Membership.Mem.{u3, u3} σ (Finset.{u3} σ) (Finset.hasMem.{u3} σ) i (Finsupp.support.{u3, 0} σ Nat Nat.hasZero d)) => Eq.{succ u2} S₂ (g i) (OfNat.ofNat.{u2} S₂ 0 (OfNat.mk.{u2} S₂ 0 (Zero.zero.{u2} S₂ (MulZeroClass.toHasZero.{u2} S₂ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4)))))))))))) -> (Eq.{succ u2} S₂ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (fun (_x : RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₂) (RingHom.hasCoeToFun.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (MvPolynomial.eval₂Hom.{u1, u2, u3} R S₂ σ _inst_1 _inst_4 f g) φ) (OfNat.ofNat.{u2} S₂ 0 (OfNat.mk.{u2} S₂ 0 (Zero.zero.{u2} S₂ (MulZeroClass.toHasZero.{u2} S₂ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4)))))))))
but is expected to have type
- forall {R : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_4 : CommSemiring.{u3} S₂] (f : RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (g : σ -> S₂) (φ : MvPolynomial.{u1, u2} σ R _inst_1), (forall (d : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)), (Ne.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d φ) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) -> (Exists.{succ u1} σ (fun (i : σ) => And (Membership.mem.{u1, u1} σ (Finset.{u1} σ) (Finset.instMembershipFinset.{u1} σ) i (Finsupp.support.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) d)) (Eq.{succ u3} S₂ (g i) (OfNat.ofNat.{u3} S₂ 0 (Zero.toOfNat0.{u3} S₂ (CommMonoidWithZero.toZero.{u3} S₂ (CommSemiring.toCommMonoidWithZero.{u3} S₂ _inst_4)))))))) -> (Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) φ) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (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 u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₂ σ _inst_1 _inst_4 f g) φ) (OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) φ) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) φ) (CommMonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) φ) (CommSemiring.toCommMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) φ) _inst_4)))))
+ forall {R : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_4 : CommSemiring.{u3} S₂] (f : RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (g : σ -> S₂) (φ : MvPolynomial.{u1, u2} σ R _inst_1), (forall (d : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)), (Ne.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d φ) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) -> (Exists.{succ u1} σ (fun (i : σ) => And (Membership.mem.{u1, u1} σ (Finset.{u1} σ) (Finset.instMembershipFinset.{u1} σ) i (Finsupp.support.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) d)) (Eq.{succ u3} S₂ (g i) (OfNat.ofNat.{u3} S₂ 0 (Zero.toOfNat0.{u3} S₂ (CommMonoidWithZero.toZero.{u3} S₂ (CommSemiring.toCommMonoidWithZero.{u3} S₂ _inst_4)))))))) -> (Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) φ) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₂ σ _inst_1 _inst_4 f g) φ) (OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) φ) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) φ) (CommMonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) φ) (CommSemiring.toCommMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) φ) _inst_4)))))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_hom_eq_zero MvPolynomial.eval₂Hom_eq_zeroₓ'. -/
theorem eval₂Hom_eq_zero (f : R →+* S₂) (g : σ → S₂) (φ : MvPolynomial σ R)
(h : ∀ d, φ.coeff d ≠ 0 → ∃ i ∈ d.support, g i = 0) : eval₂Hom f g φ = 0 :=
@@ -2851,7 +2851,7 @@ theorem aevalTower_X (i : σ) : aevalTower g y (X i) = y i :=
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {S : Type.{u3}} {A : Type.{u4}} [_inst_3 : CommSemiring.{u3} S] [_inst_4 : CommSemiring.{u4} A] [_inst_6 : Algebra.{u3, u1} S R _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1)] [_inst_7 : Algebra.{u3, u4} S A _inst_3 (CommSemiring.toSemiring.{u4} A _inst_4)] (g : AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) (y : σ -> A) (x : R), Eq.{succ u4} A (coeFn.{max (succ (max u2 u1)) (succ u4), max (succ (max u2 u1)) (succ u4)} (AlgHom.{u3, max u2 u1, u4} S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (fun (_x : AlgHom.{u3, max u2 u1, u4} S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) => (MvPolynomial.{u2, u1} σ R _inst_1) -> A) ([anonymous].{u3, max u2 u1, u4} S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (MvPolynomial.aevalTower.{u1, u2, u3, u4} R σ _inst_1 S A _inst_3 _inst_4 _inst_6 _inst_7 g y) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) x)) (coeFn.{max (succ u1) (succ u4), max (succ u1) (succ u4)} (AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) (fun (_x : AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) => R -> A) ([anonymous].{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) g x)
but is expected to have type
- forall {R : Type.{u4}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u4} R] {S : Type.{u1}} {A : Type.{u3}} [_inst_3 : CommSemiring.{u1} S] [_inst_4 : CommSemiring.{u3} A] [_inst_6 : Algebra.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1)] [_inst_7 : Algebra.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4)] (g : AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) (y : σ -> A) (x : R), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u2, u4} σ R _inst_1) => A) (FunLike.coe.{max (succ u2) (succ u4), succ u4, max (succ u2) (succ u4)} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u2, u4} σ R _inst_1) a) (MulHomClass.toFunLike.{max u2 u4, u4, max u2 u4} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (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))))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u4, u4, max u2 u4} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u2, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (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)))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u4, u4, max u2 u4} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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))) (RingHom.instRingHomClassRingHom.{u4, max u2 u4} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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))))))) (MvPolynomial.C.{u4, u2} R σ _inst_1) x)) (FunLike.coe.{max (max (succ u4) (succ u2)) (succ u3), max (succ u4) (succ u2), succ u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (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) => A) _x) (SMulHomClass.toFunLike.{max (max u4 u2) u3, u1, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u4} σ R _inst_1) A (SMulZeroClass.toSMul.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toZero.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))))) (DistribSMul.toSMulZeroClass.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))))) (DistribMulAction.toDistribSMul.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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)))))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)))))) (SMulZeroClass.toSMul.{u1, u3} S A (AddMonoid.toZero.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribSMul.toSMulZeroClass.{u1, u3} S A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribMulAction.toDistribSMul.{u1, u3} S A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u2) u3, u1, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u4} σ R _inst_1) A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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)))))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u4 u2) u3, u1, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u4} σ R _inst_1) A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (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.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, max u4 u2, u3, max (max u4 u2) u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7 (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (AlgHom.algHomClass.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7))))) (MvPolynomial.aevalTower.{u4, u2, u1, u3} R σ _inst_1 S A _inst_3 _inst_4 _inst_6 _inst_7 g y) (FunLike.coe.{max (succ u2) (succ u4), succ u4, max (succ u2) (succ u4)} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u2, u4} σ R _inst_1) _x) (MulHomClass.toFunLike.{max u2 u4, u4, max u2 u4} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (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))))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u4, u4, max u2 u4} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u2, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (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)))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u4, u4, max u2 u4} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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))) (RingHom.instRingHomClassRingHom.{u4, max u2 u4} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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))))))) (MvPolynomial.C.{u4, u2} R σ _inst_1) x)) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : R) => A) _x) (SMulHomClass.toFunLike.{max u4 u3, u1, u4, u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) S R A (SMulZeroClass.toSMul.{u1, u4} S R (AddMonoid.toZero.{u4} R (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u1, u4} S R (AddMonoid.toAddZeroClass.{u4} R (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u1, u4} S R (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6))))) (SMulZeroClass.toSMul.{u1, u3} S A (AddMonoid.toZero.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribSMul.toSMulZeroClass.{u1, u3} S A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribMulAction.toDistribSMul.{u1, u3} S A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7))))) (DistribMulActionHomClass.toSMulHomClass.{max u4 u3, u1, u4, u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) S R A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u4 u3, u1, u4, u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) S R A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, u4, u3, max u4 u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7 (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) (AlgHom.algHomClass.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7))))) g x)
+ forall {R : Type.{u4}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u4} R] {S : Type.{u1}} {A : Type.{u3}} [_inst_3 : CommSemiring.{u1} S] [_inst_4 : CommSemiring.{u3} A] [_inst_6 : Algebra.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1)] [_inst_7 : Algebra.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4)] (g : AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) (y : σ -> A) (x : R), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u2, u4} σ R _inst_1) => A) (FunLike.coe.{max (succ u2) (succ u4), succ u4, max (succ u2) (succ u4)} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u2, u4} σ R _inst_1) a) (MulHomClass.toFunLike.{max u2 u4, u4, max u2 u4} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (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))))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u4, u4, max u2 u4} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u2, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (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)))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u4, u4, max u2 u4} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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))) (RingHom.instRingHomClassRingHom.{u4, max u2 u4} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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))))))) (MvPolynomial.C.{u4, u2} R σ _inst_1) x)) (FunLike.coe.{max (max (succ u4) (succ u2)) (succ u3), max (succ u4) (succ u2), succ u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (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) => A) _x) (SMulHomClass.toFunLike.{max (max u4 u2) u3, u1, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u4} σ R _inst_1) A (SMulZeroClass.toSMul.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toZero.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))))) (DistribSMul.toSMulZeroClass.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))))) (DistribMulAction.toDistribSMul.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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)))))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)))))) (SMulZeroClass.toSMul.{u1, u3} S A (AddMonoid.toZero.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribSMul.toSMulZeroClass.{u1, u3} S A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribMulAction.toDistribSMul.{u1, u3} S A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u2) u3, u1, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u4} σ R _inst_1) A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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)))))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u4 u2) u3, u1, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u4} σ R _inst_1) A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (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.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, max u4 u2, u3, max (max u4 u2) u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7 (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (AlgHom.algHomClass.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7))))) (MvPolynomial.aevalTower.{u4, u2, u1, u3} R σ _inst_1 S A _inst_3 _inst_4 _inst_6 _inst_7 g y) (FunLike.coe.{max (succ u2) (succ u4), succ u4, max (succ u2) (succ u4)} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u2, u4} σ R _inst_1) _x) (MulHomClass.toFunLike.{max u2 u4, u4, max u2 u4} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (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))))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u4, u4, max u2 u4} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u2, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (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)))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u4, u4, max u2 u4} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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))) (RingHom.instRingHomClassRingHom.{u4, max u2 u4} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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))))))) (MvPolynomial.C.{u4, u2} R σ _inst_1) x)) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : R) => A) _x) (SMulHomClass.toFunLike.{max u4 u3, u1, u4, u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) S R A (SMulZeroClass.toSMul.{u1, u4} S R (AddMonoid.toZero.{u4} R (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u1, u4} S R (AddMonoid.toAddZeroClass.{u4} R (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u1, u4} S R (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6))))) (SMulZeroClass.toSMul.{u1, u3} S A (AddMonoid.toZero.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribSMul.toSMulZeroClass.{u1, u3} S A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribMulAction.toDistribSMul.{u1, u3} S A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7))))) (DistribMulActionHomClass.toSMulHomClass.{max u4 u3, u1, u4, u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) S R A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u4 u3, u1, u4, u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) S R A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, u4, u3, max u4 u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7 (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) (AlgHom.algHomClass.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7))))) g x)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_tower_C MvPolynomial.aevalTower_Cₓ'. -/
@[simp]
theorem aevalTower_C (x : R) : aevalTower g y (C x) = g x :=
@@ -2873,7 +2873,7 @@ theorem aevalTower_comp_C : (aevalTower g y : MvPolynomial σ R →+* A).comp C
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {S : Type.{u3}} {A : Type.{u4}} [_inst_3 : CommSemiring.{u3} S] [_inst_4 : CommSemiring.{u4} A] [_inst_6 : Algebra.{u3, u1} S R _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1)] [_inst_7 : Algebra.{u3, u4} S A _inst_3 (CommSemiring.toSemiring.{u4} A _inst_4)] (g : AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) (y : σ -> A) (x : R), Eq.{succ u4} A (coeFn.{max (succ (max u2 u1)) (succ u4), max (succ (max u2 u1)) (succ u4)} (AlgHom.{u3, max u2 u1, u4} S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (fun (_x : AlgHom.{u3, max u2 u1, u4} S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) => (MvPolynomial.{u2, u1} σ R _inst_1) -> A) ([anonymous].{u3, max u2 u1, u4} S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (MvPolynomial.aevalTower.{u1, u2, u3, u4} R σ _inst_1 S A _inst_3 _inst_4 _inst_6 _inst_7 g y) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (algebraMap.{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))) x)) (coeFn.{max (succ u1) (succ u4), max (succ u1) (succ u4)} (AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) (fun (_x : AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) => R -> A) ([anonymous].{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) g x)
but is expected to have type
- forall {R : Type.{u4}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u4} R] {S : Type.{u1}} {A : Type.{u3}} [_inst_3 : CommSemiring.{u1} S] [_inst_4 : CommSemiring.{u3} A] [_inst_6 : Algebra.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1)] [_inst_7 : Algebra.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4)] (g : AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) (y : σ -> A) (x : R), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u2, u4} σ R _inst_1) => A) (FunLike.coe.{max (succ u4) (succ u2), succ u4, max (succ u4) (succ u2)} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u2, u4} σ R _inst_1) a) (MulHomClass.toFunLike.{max u4 u2, u4, max u4 u2} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (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))))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u2, u4, max u4 u2} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u2, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) (RingHomClass.toNonUnitalRingHomClass.{max u4 u2, u4, max u4 u2} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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))) (RingHom.instRingHomClassRingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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))))))) (algebraMap.{u4, max u4 u2} 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))) x)) (FunLike.coe.{max (max (succ u4) (succ u2)) (succ u3), max (succ u4) (succ u2), succ u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (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) => A) _x) (SMulHomClass.toFunLike.{max (max u4 u2) u3, u1, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u4} σ R _inst_1) A (SMulZeroClass.toSMul.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toZero.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))))) (DistribSMul.toSMulZeroClass.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))))) (DistribMulAction.toDistribSMul.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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)))))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)))))) (SMulZeroClass.toSMul.{u1, u3} S A (AddMonoid.toZero.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribSMul.toSMulZeroClass.{u1, u3} S A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribMulAction.toDistribSMul.{u1, u3} S A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u2) u3, u1, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u4} σ R _inst_1) A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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)))))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u4 u2) u3, u1, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u4} σ R _inst_1) A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (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.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, max u4 u2, u3, max (max u4 u2) u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7 (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (AlgHom.algHomClass.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7))))) (MvPolynomial.aevalTower.{u4, u2, u1, u3} R σ _inst_1 S A _inst_3 _inst_4 _inst_6 _inst_7 g y) (FunLike.coe.{max (succ u4) (succ u2), succ u4, max (succ u4) (succ u2)} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u2, u4} σ R _inst_1) _x) (MulHomClass.toFunLike.{max u4 u2, u4, max u4 u2} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (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))))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u2, u4, max u4 u2} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u2, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) (RingHomClass.toNonUnitalRingHomClass.{max u4 u2, u4, max u4 u2} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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))) (RingHom.instRingHomClassRingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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))))))) (algebraMap.{u4, max u4 u2} 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))) x)) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : R) => A) _x) (SMulHomClass.toFunLike.{max u4 u3, u1, u4, u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) S R A (SMulZeroClass.toSMul.{u1, u4} S R (AddMonoid.toZero.{u4} R (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u1, u4} S R (AddMonoid.toAddZeroClass.{u4} R (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u1, u4} S R (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6))))) (SMulZeroClass.toSMul.{u1, u3} S A (AddMonoid.toZero.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribSMul.toSMulZeroClass.{u1, u3} S A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribMulAction.toDistribSMul.{u1, u3} S A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7))))) (DistribMulActionHomClass.toSMulHomClass.{max u4 u3, u1, u4, u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) S R A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u4 u3, u1, u4, u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) S R A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, u4, u3, max u4 u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7 (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) (AlgHom.algHomClass.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7))))) g x)
+ forall {R : Type.{u4}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u4} R] {S : Type.{u1}} {A : Type.{u3}} [_inst_3 : CommSemiring.{u1} S] [_inst_4 : CommSemiring.{u3} A] [_inst_6 : Algebra.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1)] [_inst_7 : Algebra.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4)] (g : AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) (y : σ -> A) (x : R), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u2, u4} σ R _inst_1) => A) (FunLike.coe.{max (succ u4) (succ u2), succ u4, max (succ u4) (succ u2)} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u2, u4} σ R _inst_1) a) (MulHomClass.toFunLike.{max u4 u2, u4, max u4 u2} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (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))))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u2, u4, max u4 u2} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u2, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) (RingHomClass.toNonUnitalRingHomClass.{max u4 u2, u4, max u4 u2} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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))) (RingHom.instRingHomClassRingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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))))))) (algebraMap.{u4, max u4 u2} 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))) x)) (FunLike.coe.{max (max (succ u4) (succ u2)) (succ u3), max (succ u4) (succ u2), succ u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (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) => A) _x) (SMulHomClass.toFunLike.{max (max u4 u2) u3, u1, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u4} σ R _inst_1) A (SMulZeroClass.toSMul.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toZero.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))))) (DistribSMul.toSMulZeroClass.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))))) (DistribMulAction.toDistribSMul.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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)))))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)))))) (SMulZeroClass.toSMul.{u1, u3} S A (AddMonoid.toZero.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribSMul.toSMulZeroClass.{u1, u3} S A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribMulAction.toDistribSMul.{u1, u3} S A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u2) u3, u1, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u4} σ R _inst_1) A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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)))))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u4 u2) u3, u1, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u4} σ R _inst_1) A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (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.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, max u4 u2, u3, max (max u4 u2) u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7 (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (AlgHom.algHomClass.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7))))) (MvPolynomial.aevalTower.{u4, u2, u1, u3} R σ _inst_1 S A _inst_3 _inst_4 _inst_6 _inst_7 g y) (FunLike.coe.{max (succ u4) (succ u2), succ u4, max (succ u4) (succ u2)} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => MvPolynomial.{u2, u4} σ R _inst_1) _x) (MulHomClass.toFunLike.{max u4 u2, u4, max u4 u2} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (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))))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u2, u4, max u4 u2} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u2, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) (RingHomClass.toNonUnitalRingHomClass.{max u4 u2, u4, max u4 u2} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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))) (RingHom.instRingHomClassRingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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))))))) (algebraMap.{u4, max u4 u2} 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))) x)) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : R) => A) _x) (SMulHomClass.toFunLike.{max u4 u3, u1, u4, u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) S R A (SMulZeroClass.toSMul.{u1, u4} S R (AddMonoid.toZero.{u4} R (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u1, u4} S R (AddMonoid.toAddZeroClass.{u4} R (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u1, u4} S R (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6))))) (SMulZeroClass.toSMul.{u1, u3} S A (AddMonoid.toZero.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribSMul.toSMulZeroClass.{u1, u3} S A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribMulAction.toDistribSMul.{u1, u3} S A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7))))) (DistribMulActionHomClass.toSMulHomClass.{max u4 u3, u1, u4, u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) S R A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u4 u3, u1, u4, u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) S R A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, u4, u3, max u4 u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7 (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) (AlgHom.algHomClass.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7))))) g x)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_tower_algebra_map MvPolynomial.aevalTower_algebraMapₓ'. -/
@[simp]
theorem aevalTower_algebraMap (x : R) : aevalTower g y (algebraMap R (MvPolynomial σ R) x) = g x :=
@@ -2952,7 +2952,7 @@ variable {S subS : Type _} [CommSemiring S] [SetLike subS S] [SubsemiringClass s
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {S : Type.{u3}} {subS : Type.{u4}} [_inst_3 : CommSemiring.{u3} S] [_inst_4 : SetLike.{u4, u3} subS S] [_inst_5 : SubsemiringClass.{u3, u4} subS S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3)) _inst_4] {f : RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3))} {p : MvPolynomial.{u2, u1} σ R _inst_1} {s : subS}, (forall (i : Finsupp.{u2, 0} σ Nat Nat.hasZero), (Membership.Mem.{u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasMem.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) i (MvPolynomial.support.{u1, u2} R σ _inst_1 p)) -> (Membership.Mem.{u3, u4} S subS (SetLike.hasMem.{u4, u3} subS S _inst_4) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3))) (fun (_x : RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3))) => R -> S) (RingHom.hasCoeToFun.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3))) f (MvPolynomial.coeff.{u1, u2} R σ _inst_1 i p)) s)) -> (forall {v : σ -> S}, (forall (i : σ), Membership.Mem.{u3, u4} S subS (SetLike.hasMem.{u4, u3} subS S _inst_4) (v i) s) -> (Membership.Mem.{u3, u4} S subS (SetLike.hasMem.{u4, u3} subS S _inst_4) (MvPolynomial.eval₂.{u1, u3, u2} R S σ _inst_1 _inst_3 f v p) s))
but is expected to have type
- forall {R : Type.{u4}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u4} R] {S : Type.{u3}} {subS : Type.{u1}} [_inst_3 : CommSemiring.{u3} S] [_inst_4 : SetLike.{u1, u3} subS S] [_inst_5 : SubsemiringClass.{u3, u1} subS S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3)) _inst_4] {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_3))} {p : MvPolynomial.{u2, u4} σ R _inst_1} {s : subS}, (forall (i : Finsupp.{u2, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)), (Membership.mem.{u2, u2} (Finsupp.{u2, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finset.{u2} (Finsupp.{u2, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instMembershipFinset.{u2} (Finsupp.{u2, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) i (MvPolynomial.support.{u4, u2} R σ _inst_1 p)) -> (Membership.mem.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) (MvPolynomial.coeff.{u4, u2} R σ _inst_1 i p)) subS (SetLike.instMembership.{u1, u3} subS S _inst_4) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3))) R S (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3))) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3))) R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3)) (RingHom.instRingHomClassRingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3)))))) f (MvPolynomial.coeff.{u4, u2} R σ _inst_1 i p)) s)) -> (forall {v : σ -> S}, (forall (i : σ), Membership.mem.{u3, u1} S subS (SetLike.instMembership.{u1, u3} subS S _inst_4) (v i) s) -> (Membership.mem.{u3, u1} S subS (SetLike.instMembership.{u1, u3} subS S _inst_4) (MvPolynomial.eval₂.{u4, u3, u2} R S σ _inst_1 _inst_3 f v p) s))
+ forall {R : Type.{u4}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u4} R] {S : Type.{u3}} {subS : Type.{u1}} [_inst_3 : CommSemiring.{u3} S] [_inst_4 : SetLike.{u1, u3} subS S] [_inst_5 : SubsemiringClass.{u3, u1} subS S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3)) _inst_4] {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_3))} {p : MvPolynomial.{u2, u4} σ R _inst_1} {s : subS}, (forall (i : Finsupp.{u2, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)), (Membership.mem.{u2, u2} (Finsupp.{u2, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finset.{u2} (Finsupp.{u2, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instMembershipFinset.{u2} (Finsupp.{u2, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) i (MvPolynomial.support.{u4, u2} R σ _inst_1 p)) -> (Membership.mem.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) (MvPolynomial.coeff.{u4, u2} R σ _inst_1 i p)) subS (SetLike.instMembership.{u1, u3} subS S _inst_4) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3))) R S (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3))) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3))) R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3)) (RingHom.instRingHomClassRingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3)))))) f (MvPolynomial.coeff.{u4, u2} R σ _inst_1 i p)) s)) -> (forall {v : σ -> S}, (forall (i : σ), Membership.mem.{u3, u1} S subS (SetLike.instMembership.{u1, u3} subS S _inst_4) (v i) s) -> (Membership.mem.{u3, u1} S subS (SetLike.instMembership.{u1, u3} subS S _inst_4) (MvPolynomial.eval₂.{u4, u3, u2} R S σ _inst_1 _inst_3 f v p) s))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_mem MvPolynomial.eval₂_memₓ'. -/
theorem eval₂_mem {f : R →+* S} {p : MvPolynomial σ R} {s : subS}
(hs : ∀ i ∈ p.support, f (p.coeff i) ∈ s) {v : σ → S} (hv : ∀ i, v i ∈ s) :
@@ -2984,7 +2984,7 @@ theorem eval₂_mem {f : R →+* S} {p : MvPolynomial σ R} {s : subS}
lean 3 declaration is
forall {σ : Type.{u1}} {S : Type.{u2}} {subS : Type.{u3}} [_inst_3 : CommSemiring.{u2} S] [_inst_4 : SetLike.{u3, u2} subS S] [_inst_5 : SubsemiringClass.{u2, u3} subS S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) _inst_4] {p : MvPolynomial.{u1, u2} σ S _inst_3} {s : subS}, (forall (i : Finsupp.{u1, 0} σ Nat Nat.hasZero), (Membership.Mem.{u1, u1} (Finsupp.{u1, 0} σ Nat Nat.hasZero) (Finset.{u1} (Finsupp.{u1, 0} σ Nat Nat.hasZero)) (Finset.hasMem.{u1} (Finsupp.{u1, 0} σ Nat Nat.hasZero)) i (MvPolynomial.support.{u2, u1} S σ _inst_3 p)) -> (Membership.Mem.{u2, u3} S subS (SetLike.hasMem.{u3, u2} subS S _inst_4) (MvPolynomial.coeff.{u2, u1} S σ _inst_3 i p) s)) -> (forall {v : σ -> S}, (forall (i : σ), Membership.Mem.{u2, u3} S subS (SetLike.hasMem.{u3, u2} subS S _inst_4) (v i) s) -> (Membership.Mem.{u2, u3} S subS (SetLike.hasMem.{u3, u2} subS S _inst_4) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ (max u1 u2)) (succ u2)} (RingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ S _inst_3) S (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ S _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ S _inst_3) (MvPolynomial.commSemiring.{u2, u1} S σ _inst_3))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (fun (_x : RingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ S _inst_3) S (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ S _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ S _inst_3) (MvPolynomial.commSemiring.{u2, u1} S σ _inst_3))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) => (MvPolynomial.{u1, u2} σ S _inst_3) -> S) (RingHom.hasCoeToFun.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ S _inst_3) S (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ S _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ S _inst_3) (MvPolynomial.commSemiring.{u2, u1} S σ _inst_3))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (MvPolynomial.eval.{u2, u1} S σ _inst_3 v) p) s))
but is expected to have type
- forall {σ : Type.{u3}} {S : Type.{u2}} {subS : Type.{u1}} [_inst_3 : CommSemiring.{u2} S] [_inst_4 : SetLike.{u1, u2} subS S] [_inst_5 : SubsemiringClass.{u2, u1} subS S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) _inst_4] {p : MvPolynomial.{u3, u2} σ S _inst_3} {s : subS}, (forall (i : Finsupp.{u3, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)), (Membership.mem.{u3, u3} (Finsupp.{u3, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finset.{u3} (Finsupp.{u3, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instMembershipFinset.{u3} (Finsupp.{u3, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) i (MvPolynomial.support.{u2, u3} S σ _inst_3 p)) -> (Membership.mem.{u2, u1} S subS (SetLike.instMembership.{u1, u2} subS S _inst_4) (MvPolynomial.coeff.{u2, u3} S σ _inst_3 i p) s)) -> (forall {v : σ -> S}, (forall (i : σ), Membership.mem.{u2, u1} S subS (SetLike.instMembership.{u1, u2} subS S _inst_4) (v i) s) -> (Membership.mem.{u2, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u3, u2} σ S _inst_3) => S) p) subS (SetLike.instMembership.{u1, u2} subS S _inst_4) (FunLike.coe.{max (succ u3) (succ u2), max (succ u3) (succ u2), succ u2} (RingHom.{max u2 u3, u2} (MvPolynomial.{u3, u2} σ S _inst_3) S (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ S _inst_3) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ S _inst_3) (MvPolynomial.commSemiring.{u2, u3} S σ _inst_3))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (MvPolynomial.{u3, u2} σ S _inst_3) (fun (_x : MvPolynomial.{u3, u2} σ S _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u3, u2} σ S _inst_3) => S) _x) (MulHomClass.toFunLike.{max u3 u2, max u3 u2, u2} (RingHom.{max u2 u3, u2} (MvPolynomial.{u3, u2} σ S _inst_3) S (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ S _inst_3) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ S _inst_3) (MvPolynomial.commSemiring.{u2, u3} S σ _inst_3))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (MvPolynomial.{u3, u2} σ S _inst_3) S (NonUnitalNonAssocSemiring.toMul.{max u3 u2} (MvPolynomial.{u3, u2} σ S _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S _inst_3) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ S _inst_3) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ S _inst_3) (MvPolynomial.commSemiring.{u2, u3} S σ _inst_3))))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, max u3 u2, u2} (RingHom.{max u2 u3, u2} (MvPolynomial.{u3, u2} σ S _inst_3) S (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ S _inst_3) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ S _inst_3) (MvPolynomial.commSemiring.{u2, u3} S σ _inst_3))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (MvPolynomial.{u3, u2} σ S _inst_3) S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S _inst_3) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ S _inst_3) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ S _inst_3) (MvPolynomial.commSemiring.{u2, u3} S σ _inst_3)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, max u3 u2, u2} (RingHom.{max u2 u3, u2} (MvPolynomial.{u3, u2} σ S _inst_3) S (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ S _inst_3) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ S _inst_3) (MvPolynomial.commSemiring.{u2, u3} S σ _inst_3))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (MvPolynomial.{u3, u2} σ S _inst_3) S (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ S _inst_3) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ S _inst_3) (MvPolynomial.commSemiring.{u2, u3} S σ _inst_3))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (RingHom.instRingHomClassRingHom.{max u3 u2, u2} (MvPolynomial.{u3, u2} σ S _inst_3) S (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ S _inst_3) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ S _inst_3) (MvPolynomial.commSemiring.{u2, u3} S σ _inst_3))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))))) (MvPolynomial.eval.{u2, u3} S σ _inst_3 v) p) s))
+ forall {σ : Type.{u3}} {S : Type.{u2}} {subS : Type.{u1}} [_inst_3 : CommSemiring.{u2} S] [_inst_4 : SetLike.{u1, u2} subS S] [_inst_5 : SubsemiringClass.{u2, u1} subS S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) _inst_4] {p : MvPolynomial.{u3, u2} σ S _inst_3} {s : subS}, (forall (i : Finsupp.{u3, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)), (Membership.mem.{u3, u3} (Finsupp.{u3, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finset.{u3} (Finsupp.{u3, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instMembershipFinset.{u3} (Finsupp.{u3, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) i (MvPolynomial.support.{u2, u3} S σ _inst_3 p)) -> (Membership.mem.{u2, u1} S subS (SetLike.instMembership.{u1, u2} subS S _inst_4) (MvPolynomial.coeff.{u2, u3} S σ _inst_3 i p) s)) -> (forall {v : σ -> S}, (forall (i : σ), Membership.mem.{u2, u1} S subS (SetLike.instMembership.{u1, u2} subS S _inst_4) (v i) s) -> (Membership.mem.{u2, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u3, u2} σ S _inst_3) => S) p) subS (SetLike.instMembership.{u1, u2} subS S _inst_4) (FunLike.coe.{max (succ u3) (succ u2), max (succ u3) (succ u2), succ u2} (RingHom.{max u2 u3, u2} (MvPolynomial.{u3, u2} σ S _inst_3) S (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ S _inst_3) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ S _inst_3) (MvPolynomial.commSemiring.{u2, u3} S σ _inst_3))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (MvPolynomial.{u3, u2} σ S _inst_3) (fun (_x : MvPolynomial.{u3, u2} σ S _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : MvPolynomial.{u3, u2} σ S _inst_3) => S) _x) (MulHomClass.toFunLike.{max u3 u2, max u3 u2, u2} (RingHom.{max u2 u3, u2} (MvPolynomial.{u3, u2} σ S _inst_3) S (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ S _inst_3) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ S _inst_3) (MvPolynomial.commSemiring.{u2, u3} S σ _inst_3))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (MvPolynomial.{u3, u2} σ S _inst_3) S (NonUnitalNonAssocSemiring.toMul.{max u3 u2} (MvPolynomial.{u3, u2} σ S _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S _inst_3) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ S _inst_3) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ S _inst_3) (MvPolynomial.commSemiring.{u2, u3} S σ _inst_3))))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, max u3 u2, u2} (RingHom.{max u2 u3, u2} (MvPolynomial.{u3, u2} σ S _inst_3) S (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ S _inst_3) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ S _inst_3) (MvPolynomial.commSemiring.{u2, u3} S σ _inst_3))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (MvPolynomial.{u3, u2} σ S _inst_3) S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S _inst_3) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ S _inst_3) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ S _inst_3) (MvPolynomial.commSemiring.{u2, u3} S σ _inst_3)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, max u3 u2, u2} (RingHom.{max u2 u3, u2} (MvPolynomial.{u3, u2} σ S _inst_3) S (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ S _inst_3) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ S _inst_3) (MvPolynomial.commSemiring.{u2, u3} S σ _inst_3))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (MvPolynomial.{u3, u2} σ S _inst_3) S (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ S _inst_3) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ S _inst_3) (MvPolynomial.commSemiring.{u2, u3} S σ _inst_3))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (RingHom.instRingHomClassRingHom.{max u3 u2, u2} (MvPolynomial.{u3, u2} σ S _inst_3) S (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ S _inst_3) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ S _inst_3) (MvPolynomial.commSemiring.{u2, u3} S σ _inst_3))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))))) (MvPolynomial.eval.{u2, u3} S σ _inst_3 v) p) s))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval_mem MvPolynomial.eval_memₓ'. -/
theorem eval_mem {p : MvPolynomial σ S} {s : subS} (hs : ∀ i ∈ p.support, p.coeff i ∈ s) {v : σ → S}
(hv : ∀ i, v i ∈ s) : MvPolynomial.eval v p ∈ s :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/c89fe2d59ae06402c3f55f978016d1ada444f57e
@@ -179,7 +179,7 @@ def monomial (s : σ →₀ ℕ) : R →ₗ[R] MvPolynomial σ R :=
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (s : Finsupp.{u2, 0} σ Nat Nat.hasZero) (a : R), Eq.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} (Finsupp.{u2, 0} σ Nat Nat.hasZero) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (Finsupp.single.{u2, u1} (Finsupp.{u2, 0} σ Nat Nat.hasZero) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) s a) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) a)
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (a : R), Eq.{max (succ u2) (succ u1)} (Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (Finsupp.single.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)) s a) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a)
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (a : R), Eq.{max (succ u2) (succ u1)} (Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (Finsupp.single.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)) s a) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.single_eq_monomial MvPolynomial.single_eq_monomialₓ'. -/
theorem single_eq_monomial (s : σ →₀ ℕ) (a : R) : single s a = monomial s a :=
rfl
@@ -189,7 +189,7 @@ theorem single_eq_monomial (s : σ →₀ ℕ) (a : R) : single s a = monomial s
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {p : MvPolynomial.{u2, u1} σ R _inst_1} {q : MvPolynomial.{u2, u1} σ R _inst_1}, Eq.{succ (max u2 u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) p q) (Finsupp.sum.{u2, u1, max u2 u1} (Finsupp.{u2, 0} σ Nat Nat.hasZero) R (MvPolynomial.{u2, u1} σ R _inst_1) (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (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))))) p (fun (m : Finsupp.{u2, 0} σ Nat Nat.hasZero) (a : R) => Finsupp.sum.{u2, u1, max u2 u1} (Finsupp.{u2, 0} σ Nat Nat.hasZero) R (MvPolynomial.{u2, u1} σ R _inst_1) (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (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))))) q (fun (n : Finsupp.{u2, 0} σ Nat Nat.hasZero) (b : R) => coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 (HAdd.hAdd.{u2, u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (instHAdd.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.add.{u2, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) m n)) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) a b))))
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {p : MvPolynomial.{u1, u2} σ R _inst_1} {q : MvPolynomial.{u1, u2} σ R _inst_1}, Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u1, u2} σ R _inst_1) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) p q) (Finsupp.sum.{u1, u2, max u2 u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) p (fun (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (a : R) => Finsupp.sum.{u1, u2, max u2 u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) q (fun (n : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (b : R) => FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 (HAdd.hAdd.{u1, u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHAdd.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.add.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) m n)) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) a b))))
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {p : MvPolynomial.{u1, u2} σ R _inst_1} {q : MvPolynomial.{u1, u2} σ R _inst_1}, Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u1, u2} σ R _inst_1) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) p q) (Finsupp.sum.{u1, u2, max u2 u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) p (fun (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (a : R) => Finsupp.sum.{u1, u2, max u2 u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) q (fun (n : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (b : R) => FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 (HAdd.hAdd.{u1, u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHAdd.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.add.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) m n)) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) a b))))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.mul_def MvPolynomial.mul_defₓ'. -/
theorem mul_def : p * q = p.Sum fun m a => q.Sum fun n b => monomial (m + n) (a * b) :=
rfl
@@ -227,7 +227,7 @@ def X (n : σ) : MvPolynomial σ R :=
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {r : R}, (Ne.{succ u1} R r (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) -> (Function.Injective.{succ u2, max (succ u2) (succ u1)} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (MvPolynomial.{u2, u1} σ R _inst_1) (fun (s : Finsupp.{u2, 0} σ Nat Nat.hasZero) => coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) r))
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {r : R}, (Ne.{succ u2} R r (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) -> (Function.Injective.{succ u1, max (succ u2) (succ u1)} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (fun (s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) r))
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {r : R}, (Ne.{succ u2} R r (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) -> (Function.Injective.{succ u1, max (succ u2) (succ u1)} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (fun (s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) r))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.monomial_left_injective MvPolynomial.monomial_left_injectiveₓ'. -/
theorem monomial_left_injective {r : R} (hr : r ≠ 0) :
Function.Injective fun s : σ →₀ ℕ => monomial s r :=
@@ -238,7 +238,7 @@ theorem monomial_left_injective {r : R} (hr : r ≠ 0) :
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {s : Finsupp.{u2, 0} σ Nat Nat.hasZero} {t : Finsupp.{u2, 0} σ Nat Nat.hasZero} {r : R}, (Ne.{succ u1} R r (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) -> (Iff (Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) r) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 t) r)) (Eq.{succ u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) s t))
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} {t : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} {r : R}, (Ne.{succ u2} R r (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) -> (Iff (Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) r) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 t) r)) (Eq.{succ u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) s t))
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} {t : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} {r : R}, (Ne.{succ u2} R r (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) -> (Iff (Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) r) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 t) r)) (Eq.{succ u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) s t))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.monomial_left_inj MvPolynomial.monomial_left_injₓ'. -/
@[simp]
theorem monomial_left_inj {s t : σ →₀ ℕ} {r : R} (hr : r ≠ 0) :
@@ -250,7 +250,7 @@ theorem monomial_left_inj {s t : σ →₀ ℕ} {r : R} (hr : r ≠ 0) :
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} {a : R} [_inst_1 : CommSemiring.{u1} R], Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 (OfNat.ofNat.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (OfNat.mk.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (Zero.zero.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.zero.{u2, 0} σ Nat Nat.hasZero))))) a)
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (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) a) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 (OfNat.ofNat.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) 0 (Zero.toOfNat0.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.zero.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))))) a)
+ forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (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) a) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 (OfNat.ofNat.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) 0 (Zero.toOfNat0.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.zero.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))))) a)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.C_apply MvPolynomial.C_applyₓ'. -/
theorem C_apply : (C a : MvPolynomial σ R) = monomial 0 a :=
rfl
@@ -281,7 +281,7 @@ theorem C_1 : C 1 = (1 : MvPolynomial σ R) :=
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} {a : R} {a' : R} {s : Finsupp.{u2, 0} σ Nat Nat.hasZero} [_inst_1 : CommSemiring.{u1} R], Eq.{succ (max u2 u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) a')) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) a a'))
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} {a' : R} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) a a')) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a') ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) a a')) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} 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 (_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) a) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a')) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) a a'))
+ forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} {a' : R} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) a a')) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a') ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) a a')) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} 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 (_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) a) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a')) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) a a'))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.C_mul_monomial MvPolynomial.C_mul_monomialₓ'. -/
theorem C_mul_monomial : C a * monomial s a' = monomial s (a * a') := by
simp [C_apply, monomial, single_mul_single]
@@ -414,7 +414,7 @@ theorem C_eq_smul_one : (C a : MvPolynomial σ R) = a • 1 := by rw [← C_mul'
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} {a : R} {s : Finsupp.{u2, 0} σ Nat Nat.hasZero} [_inst_1 : CommSemiring.{u1} R] {S₁ : Type.{u3}} [_inst_3 : SMulZeroClass.{u3, u1} S₁ R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))] (r : S₁), Eq.{succ (max u2 u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (SMul.smul.{u3, max u2 u1} S₁ (MvPolynomial.{u2, u1} σ R _inst_1) (SMulZeroClass.toHasSmul.{u3, max u2 u1} S₁ (MvPolynomial.{u2, u1} σ R _inst_1) (MulZeroClass.toHasZero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toMulZeroClass.{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)))))) (MvPolynomial.smulZeroClass.{u3, u1, u2} S₁ R σ _inst_1 _inst_3)) r (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) a)) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) (SMul.smul.{u3, u1} S₁ R (SMulZeroClass.toHasSmul.{u3, u1} S₁ R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) _inst_3) r a))
but is expected to have type
- forall {R : Type.{u3}} {σ : Type.{u1}} {a : R} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u3} R] {S₁ : Type.{u2}} [_inst_3 : SMulZeroClass.{u2, u3} S₁ R (CommMonoidWithZero.toZero.{u3} R (CommSemiring.toCommMonoidWithZero.{u3} R _inst_1))] (r : S₁), Eq.{max (succ u3) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (HSMul.hSMul.{u2, max u3 u1, max u3 u1} S₁ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (instHSMul.{u2, max u3 u1} S₁ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (SMulZeroClass.toSMul.{u2, max u3 u1} S₁ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (CommMonoidWithZero.toZero.{max u3 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (CommSemiring.toCommMonoidWithZero.{max u3 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (MvPolynomial.smulZeroClass.{u2, u3, u1} S₁ R σ _inst_1 _inst_3))) r (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearMap.{u3, u3, u3, max u3 u1} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) 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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u3} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 s) a)) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearMap.{u3, u3, u3, max u3 u1} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) 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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u3} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 s) (HSMul.hSMul.{u2, u3, u3} S₁ R R (instHSMul.{u2, u3} S₁ R (SMulZeroClass.toSMul.{u2, u3} S₁ R (CommMonoidWithZero.toZero.{u3} R (CommSemiring.toCommMonoidWithZero.{u3} R _inst_1)) _inst_3)) r a))
+ forall {R : Type.{u3}} {σ : Type.{u1}} {a : R} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u3} R] {S₁ : Type.{u2}} [_inst_3 : SMulZeroClass.{u2, u3} S₁ R (CommMonoidWithZero.toZero.{u3} R (CommSemiring.toCommMonoidWithZero.{u3} R _inst_1))] (r : S₁), Eq.{max (succ u3) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (HSMul.hSMul.{u2, max u3 u1, max u3 u1} S₁ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (instHSMul.{u2, max u3 u1} S₁ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (SMulZeroClass.toSMul.{u2, max u3 u1} S₁ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (CommMonoidWithZero.toZero.{max u3 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (CommSemiring.toCommMonoidWithZero.{max u3 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (MvPolynomial.smulZeroClass.{u2, u3, u1} S₁ R σ _inst_1 _inst_3))) r (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearMap.{u3, u3, u3, max u3 u1} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) 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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u3} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 s) a)) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearMap.{u3, u3, u3, max u3 u1} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) 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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u3} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 s) (HSMul.hSMul.{u2, u3, u3} S₁ R R (instHSMul.{u2, u3} S₁ R (SMulZeroClass.toSMul.{u2, u3} S₁ R (CommMonoidWithZero.toZero.{u3} R (CommSemiring.toCommMonoidWithZero.{u3} R _inst_1)) _inst_3)) r a))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.smul_monomial MvPolynomial.smul_monomialₓ'. -/
theorem smul_monomial {S₁ : Type _} [SMulZeroClass S₁ R] (r : S₁) :
r • monomial s a = monomial s (r • a) :=
@@ -446,7 +446,7 @@ theorem X_inj [Nontrivial R] (m n : σ) : X m = (X n : MvPolynomial σ R) ↔ m
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} {a : R} {e : Nat} {s : Finsupp.{u2, 0} σ Nat Nat.hasZero} [_inst_1 : CommSemiring.{u1} R], Eq.{succ (max u2 u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (HPow.hPow.{max u2 u1, 0, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) Nat (MvPolynomial.{u2, u1} σ R _inst_1) (instHPow.{max u2 u1, 0} (MvPolynomial.{u2, u1} σ R _inst_1) Nat (Monoid.Pow.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MonoidWithZero.toMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) a) e) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 (SMul.smul.{0, u2} Nat (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.hasNatScalar.{u2, 0} σ Nat Nat.addMonoid) e s)) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) a e))
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} {e : Nat} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (HPow.hPow.{max u2 u1, 0, max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) Nat ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (instHPow.{max u2 u1, 0} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) Nat (Monoid.Pow.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MonoidWithZero.toMonoid.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toMonoidWithZero.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a) e) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 (HSMul.hSMul.{0, u1, u1} Nat (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHSMul.{0, u1} Nat (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.hasNatScalar.{u1, 0} σ Nat Nat.addMonoid)) e s)) (HPow.hPow.{u2, 0, u2} R Nat R (instHPow.{u2, 0} R Nat (Monoid.Pow.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) a e))
+ forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} {e : Nat} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (HPow.hPow.{max u2 u1, 0, max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) Nat ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (instHPow.{max u2 u1, 0} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) Nat (Monoid.Pow.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MonoidWithZero.toMonoid.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toMonoidWithZero.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a) e) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 (HSMul.hSMul.{0, u1, u1} Nat (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHSMul.{0, u1} Nat (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.hasNatScalar.{u1, 0} σ Nat Nat.addMonoid)) e s)) (HPow.hPow.{u2, 0, u2} R Nat R (instHPow.{u2, 0} R Nat (Monoid.Pow.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) a e))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.monomial_pow MvPolynomial.monomial_powₓ'. -/
theorem monomial_pow : monomial s a ^ e = monomial (e • s) (a ^ e) :=
AddMonoidAlgebra.single_pow e
@@ -456,7 +456,7 @@ theorem monomial_pow : monomial s a ^ e = monomial (e • s) (a ^ e) :=
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {s : Finsupp.{u2, 0} σ Nat Nat.hasZero} {s' : Finsupp.{u2, 0} σ Nat Nat.hasZero} {a : R} {b : R}, Eq.{succ (max u2 u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) a) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s') b)) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 (HAdd.hAdd.{u2, u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (instHAdd.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.add.{u2, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) s s')) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) a b))
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} {s' : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} {a : R} {b : R}, Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) b) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s') b)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 (HAdd.hAdd.{u1, u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHAdd.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.add.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) s s')) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) a b))
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} {s' : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} {a : R} {b : R}, Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) b) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s') b)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 (HAdd.hAdd.{u1, u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHAdd.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.add.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) s s')) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) a b))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.monomial_mul MvPolynomial.monomial_mulₓ'. -/
@[simp]
theorem monomial_mul {s s' : σ →₀ ℕ} {a b : R} :
@@ -479,7 +479,7 @@ variable {σ R}
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} {s : Finsupp.{u2, 0} σ Nat Nat.hasZero} [_inst_1 : CommSemiring.{u1} R], Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ (max u2 u1)) (succ u2), max (succ u2) (succ (max u2 u1))} (MonoidHom.{u2, max u2 u1} (Multiplicative.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (MvPolynomial.{u2, u1} σ R _inst_1) (Multiplicative.mulOneClass.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.addZeroClass.{u2, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (MulZeroOneClass.toMulOneClass.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toMulZeroOneClass.{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)))))) (fun (_x : MonoidHom.{u2, max u2 u1} (Multiplicative.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (MvPolynomial.{u2, u1} σ R _inst_1) (Multiplicative.mulOneClass.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.addZeroClass.{u2, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (MulZeroOneClass.toMulOneClass.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toMulZeroOneClass.{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)))))) => (Multiplicative.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) -> (MvPolynomial.{u2, u1} σ R _inst_1)) (MonoidHom.hasCoeToFun.{u2, max u2 u1} (Multiplicative.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (MvPolynomial.{u2, u1} σ R _inst_1) (Multiplicative.mulOneClass.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.addZeroClass.{u2, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (MulZeroOneClass.toMulOneClass.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toMulZeroOneClass.{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)))))) (MvPolynomial.monomialOneHom.{u1, u2} R σ _inst_1) s) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) => MvPolynomial.{u1, u2} σ R _inst_1) s) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (MonoidHom.{u1, max u2 u1} (Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.{u1, u2} σ R _inst_1) (Multiplicative.mulOneClass.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (MulZeroOneClass.toMulOneClass.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (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)))))) (Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (fun (_x : Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} (Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.{u1, u2} σ R _inst_1) (Multiplicative.mulOneClass.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (MulZeroOneClass.toMulOneClass.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (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)))))) (Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.{u1, u2} σ R _inst_1) (MulOneClass.toMul.{u1} (Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Multiplicative.mulOneClass.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)))) (MulOneClass.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MulZeroOneClass.toMulOneClass.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (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)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} (Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.{u1, u2} σ R _inst_1) (Multiplicative.mulOneClass.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (MulZeroOneClass.toMulOneClass.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (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)))))) (Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.{u1, u2} σ R _inst_1) (Multiplicative.mulOneClass.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (MulZeroOneClass.toMulOneClass.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (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))))) (MonoidHom.monoidHomClass.{u1, max u2 u1} (Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.{u1, u2} σ R _inst_1) (Multiplicative.mulOneClass.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (MulZeroOneClass.toMulOneClass.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (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)))))))) (MvPolynomial.monomialOneHom.{u2, u1} R σ _inst_1) s) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))
+ forall {R : Type.{u2}} {σ : Type.{u1}} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) => MvPolynomial.{u1, u2} σ R _inst_1) s) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (MonoidHom.{u1, max u2 u1} (Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.{u1, u2} σ R _inst_1) (Multiplicative.mulOneClass.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (MulZeroOneClass.toMulOneClass.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (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)))))) (Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (fun (_x : Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} (Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.{u1, u2} σ R _inst_1) (Multiplicative.mulOneClass.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (MulZeroOneClass.toMulOneClass.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (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)))))) (Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.{u1, u2} σ R _inst_1) (MulOneClass.toMul.{u1} (Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Multiplicative.mulOneClass.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)))) (MulOneClass.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MulZeroOneClass.toMulOneClass.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (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)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} (Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.{u1, u2} σ R _inst_1) (Multiplicative.mulOneClass.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (MulZeroOneClass.toMulOneClass.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (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)))))) (Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.{u1, u2} σ R _inst_1) (Multiplicative.mulOneClass.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (MulZeroOneClass.toMulOneClass.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (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))))) (MonoidHom.monoidHomClass.{u1, max u2 u1} (Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.{u1, u2} σ R _inst_1) (Multiplicative.mulOneClass.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (MulZeroOneClass.toMulOneClass.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (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)))))))) (MvPolynomial.monomialOneHom.{u2, u1} R σ _inst_1) s) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.monomial_one_hom_apply MvPolynomial.monomialOneHom_applyₓ'. -/
@[simp]
theorem monomialOneHom_apply : monomialOneHom R σ s = (monomial s 1 : MvPolynomial σ R) :=
@@ -490,7 +490,7 @@ theorem monomialOneHom_apply : monomialOneHom R σ s = (monomial s 1 : MvPolynom
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} {e : Nat} {n : σ} [_inst_1 : CommSemiring.{u1} R], Eq.{succ (max u2 u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (HPow.hPow.{max u2 u1, 0, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) Nat (MvPolynomial.{u2, u1} σ R _inst_1) (instHPow.{max u2 u1, 0} (MvPolynomial.{u2, u1} σ R _inst_1) Nat (Monoid.Pow.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MonoidWithZero.toMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (MvPolynomial.X.{u1, u2} R σ _inst_1 n) e) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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.single.{u2, 0} σ Nat Nat.hasZero n e)) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} {e : Nat} {n : σ} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u1, u2} σ R _inst_1) (HPow.hPow.{max u1 u2, 0, max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (MvPolynomial.{u1, u2} σ R _inst_1) (instHPow.{max u1 u2, 0} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (Monoid.Pow.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (MvPolynomial.X.{u2, u1} R σ _inst_1 n) e) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 (Finsupp.single.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) n e)) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))
+ forall {R : Type.{u2}} {σ : Type.{u1}} {e : Nat} {n : σ} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u1, u2} σ R _inst_1) (HPow.hPow.{max u1 u2, 0, max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (MvPolynomial.{u1, u2} σ R _inst_1) (instHPow.{max u1 u2, 0} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (Monoid.Pow.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (MvPolynomial.X.{u2, u1} R σ _inst_1 n) e) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 (Finsupp.single.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) n e)) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.X_pow_eq_monomial MvPolynomial.X_pow_eq_monomialₓ'. -/
theorem X_pow_eq_monomial : X n ^ e = monomial (single n e) (1 : R) := by simp [X, monomial_pow]
#align mv_polynomial.X_pow_eq_monomial MvPolynomial.X_pow_eq_monomial
@@ -499,7 +499,7 @@ theorem X_pow_eq_monomial : X n ^ e = monomial (single n e) (1 : R) := by simp [
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} {a : R} {e : Nat} {n : σ} {s : Finsupp.{u2, 0} σ Nat Nat.hasZero} [_inst_1 : CommSemiring.{u1} R], Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 (HAdd.hAdd.{u2, u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (instHAdd.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.add.{u2, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) s (Finsupp.single.{u2, 0} σ Nat Nat.hasZero n e))) a) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) a) (HPow.hPow.{max u2 u1, 0, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) Nat (MvPolynomial.{u2, u1} σ R _inst_1) (instHPow.{max u2 u1, 0} (MvPolynomial.{u2, u1} σ R _inst_1) Nat (Monoid.Pow.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MonoidWithZero.toMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (MvPolynomial.X.{u1, u2} R σ _inst_1 n) e))
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} {e : Nat} {n : σ} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 (HAdd.hAdd.{u1, u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHAdd.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.add.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) s (Finsupp.single.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) n e))) a) (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a) (HPow.hPow.{max u1 u2, 0, max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (MvPolynomial.{u1, u2} σ R _inst_1) (instHPow.{max u1 u2, 0} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (Monoid.Pow.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (MvPolynomial.X.{u2, u1} R σ _inst_1 n) e))
+ forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} {e : Nat} {n : σ} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 (HAdd.hAdd.{u1, u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHAdd.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.add.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) s (Finsupp.single.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) n e))) a) (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a) (HPow.hPow.{max u1 u2, 0, max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (MvPolynomial.{u1, u2} σ R _inst_1) (instHPow.{max u1 u2, 0} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (Monoid.Pow.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (MvPolynomial.X.{u2, u1} R σ _inst_1 n) e))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.monomial_add_single MvPolynomial.monomial_add_singleₓ'. -/
theorem monomial_add_single : monomial (s + single n e) a = monomial s a * X n ^ e := by
rw [X_pow_eq_monomial, monomial_mul, mul_one]
@@ -509,7 +509,7 @@ theorem monomial_add_single : monomial (s + single n e) a = monomial s a * X n ^
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} {a : R} {e : Nat} {n : σ} {s : Finsupp.{u2, 0} σ Nat Nat.hasZero} [_inst_1 : CommSemiring.{u1} R], Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 (HAdd.hAdd.{u2, u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (instHAdd.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.add.{u2, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Finsupp.single.{u2, 0} σ Nat Nat.hasZero n e) s)) a) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (HPow.hPow.{max u2 u1, 0, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) Nat (MvPolynomial.{u2, u1} σ R _inst_1) (instHPow.{max u2 u1, 0} (MvPolynomial.{u2, u1} σ R _inst_1) Nat (Monoid.Pow.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MonoidWithZero.toMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (MvPolynomial.X.{u1, u2} R σ _inst_1 n) e) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) a))
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} {e : Nat} {n : σ} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 (HAdd.hAdd.{u1, u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHAdd.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.add.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Finsupp.single.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) n e) s)) a) (HMul.hMul.{max u1 u2, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (instHMul.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) (HPow.hPow.{max u1 u2, 0, max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (MvPolynomial.{u1, u2} σ R _inst_1) (instHPow.{max u1 u2, 0} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (Monoid.Pow.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (MvPolynomial.X.{u2, u1} R σ _inst_1 n) e) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a))
+ forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} {e : Nat} {n : σ} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 (HAdd.hAdd.{u1, u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHAdd.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.add.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Finsupp.single.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) n e) s)) a) (HMul.hMul.{max u1 u2, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (instHMul.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) (HPow.hPow.{max u1 u2, 0, max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (MvPolynomial.{u1, u2} σ R _inst_1) (instHPow.{max u1 u2, 0} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (Monoid.Pow.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (MvPolynomial.X.{u2, u1} R σ _inst_1 n) e) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.monomial_single_add MvPolynomial.monomial_single_addₓ'. -/
theorem monomial_single_add : monomial (single n e + s) a = X n ^ e * monomial s a := by
rw [X_pow_eq_monomial, monomial_mul, one_mul]
@@ -519,7 +519,7 @@ theorem monomial_single_add : monomial (single n e + s) a = X n ^ e * monomial s
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {s : σ} {a : R} {n : Nat}, Eq.{succ (max u2 u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a) (HPow.hPow.{max u2 u1, 0, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) Nat (MvPolynomial.{u2, u1} σ R _inst_1) (instHPow.{max u2 u1, 0} (MvPolynomial.{u2, u1} σ R _inst_1) Nat (Monoid.Pow.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MonoidWithZero.toMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (MvPolynomial.X.{u1, u2} R σ _inst_1 s) n)) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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.single.{u2, 0} σ Nat Nat.hasZero s n)) a)
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {s : σ} {a : R} {n : Nat}, Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} 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 (_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) a) (HPow.hPow.{max u1 u2, 0, max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (MvPolynomial.{u1, u2} σ R _inst_1) (instHPow.{max u1 u2, 0} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (Monoid.Pow.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (MvPolynomial.X.{u2, u1} R σ _inst_1 s) n)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 (Finsupp.single.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) s n)) a)
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {s : σ} {a : R} {n : Nat}, Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} 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 (_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) a) (HPow.hPow.{max u1 u2, 0, max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (MvPolynomial.{u1, u2} σ R _inst_1) (instHPow.{max u1 u2, 0} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (Monoid.Pow.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (MvPolynomial.X.{u2, u1} R σ _inst_1 s) n)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 (Finsupp.single.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) s n)) a)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.C_mul_X_pow_eq_monomial MvPolynomial.C_mul_X_pow_eq_monomialₓ'. -/
theorem C_mul_X_pow_eq_monomial {s : σ} {a : R} {n : ℕ} : C a * X s ^ n = monomial (single s n) a :=
by rw [← zero_add (single s n), monomial_add_single, C_apply]
@@ -529,7 +529,7 @@ theorem C_mul_X_pow_eq_monomial {s : σ} {a : R} {n : ℕ} : C a * X s ^ n = mon
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {s : σ} {a : R}, Eq.{succ (max u2 u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a) (MvPolynomial.X.{u1, u2} R σ _inst_1 s)) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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.single.{u2, 0} σ Nat Nat.hasZero s (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) a)
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {s : σ} {a : R}, Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} 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 (_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) a) (MvPolynomial.X.{u2, u1} R σ _inst_1 s)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 (Finsupp.single.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) s (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) a)
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {s : σ} {a : R}, Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} 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 (_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) a) (MvPolynomial.X.{u2, u1} R σ _inst_1 s)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 (Finsupp.single.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) s (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) a)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.C_mul_X_eq_monomial MvPolynomial.C_mul_X_eq_monomialₓ'. -/
theorem C_mul_X_eq_monomial {s : σ} {a : R} : C a * X s = monomial (single s 1) a := by
rw [← C_mul_X_pow_eq_monomial, pow_one]
@@ -539,7 +539,7 @@ theorem C_mul_X_eq_monomial {s : σ} {a : R} : C a * X s = monomial (single s 1)
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {s : Finsupp.{u2, 0} σ Nat Nat.hasZero}, Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) (OfNat.ofNat.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) 0 (OfNat.mk.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) 0 (Zero.zero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MulZeroClass.toHasZero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toMulZeroClass.{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)))))))))
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)}, Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) (OfNat.ofNat.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) 0 (Zero.toOfNat0.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) (CommMonoidWithZero.toZero.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) (CommSemiring.toCommMonoidWithZero.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))))
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)}, Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) (OfNat.ofNat.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) 0 (Zero.toOfNat0.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) (CommMonoidWithZero.toZero.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) (CommSemiring.toCommMonoidWithZero.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.monomial_zero MvPolynomial.monomial_zeroₓ'. -/
@[simp]
theorem monomial_zero {s : σ →₀ ℕ} : monomial s (0 : R) = 0 :=
@@ -550,7 +550,7 @@ theorem monomial_zero {s : σ →₀ ℕ} : monomial s (0 : R) = 0 :=
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R], Eq.{max (succ u2) (succ u1)} ((fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (MvPolynomial.monomial.{u1, u2} R σ _inst_1 (OfNat.ofNat.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (OfNat.mk.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (Zero.zero.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.zero.{u2, 0} σ Nat Nat.hasZero)))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 (OfNat.ofNat.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (OfNat.mk.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (Zero.zero.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.zero.{u2, 0} σ Nat Nat.hasZero)))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1))
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} (forall (a : R), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 (OfNat.ofNat.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) 0 (Zero.toOfNat0.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.zero.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)))))) (FunLike.coe.{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))
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} (forall (a : R), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 (OfNat.ofNat.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) 0 (Zero.toOfNat0.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.zero.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)))))) (FunLike.coe.{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))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.monomial_zero' MvPolynomial.monomial_zero'ₓ'. -/
@[simp]
theorem monomial_zero' : (monomial (0 : σ →₀ ℕ) : R → MvPolynomial σ R) = C :=
@@ -561,7 +561,7 @@ theorem monomial_zero' : (monomial (0 : σ →₀ ℕ) : R → MvPolynomial σ R
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {s : Finsupp.{u2, 0} σ Nat Nat.hasZero} {b : R}, Iff (Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) b) (OfNat.ofNat.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) 0 (OfNat.mk.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) 0 (Zero.zero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MulZeroClass.toHasZero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toMulZeroClass.{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)))))))))) (Eq.{succ u1} R b (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} {b : R}, Iff (Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) b) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) b) (OfNat.ofNat.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) b) 0 (Zero.toOfNat0.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) b) (CommMonoidWithZero.toZero.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) b) (CommSemiring.toCommMonoidWithZero.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) b) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))))) (Eq.{succ u2} R b (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)))))
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} {b : R}, Iff (Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) b) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) b) (OfNat.ofNat.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) b) 0 (Zero.toOfNat0.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) b) (CommMonoidWithZero.toZero.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) b) (CommSemiring.toCommMonoidWithZero.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) b) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))))) (Eq.{succ u2} R b (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.monomial_eq_zero MvPolynomial.monomial_eq_zeroₓ'. -/
@[simp]
theorem monomial_eq_zero {s : σ →₀ ℕ} {b : R} : monomial s b = 0 ↔ b = 0 :=
@@ -572,7 +572,7 @@ theorem monomial_eq_zero {s : σ →₀ ℕ} {b : R} : monomial s b = 0 ↔ b =
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {A : Type.{u3}} [_inst_3 : AddCommMonoid.{u3} A] {u : Finsupp.{u2, 0} σ Nat Nat.hasZero} {r : R} {b : (Finsupp.{u2, 0} σ Nat Nat.hasZero) -> R -> A}, (Eq.{succ u3} A (b u (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) (OfNat.ofNat.{u3} A 0 (OfNat.mk.{u3} A 0 (Zero.zero.{u3} A (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A _inst_3))))))) -> (Eq.{succ u3} A (Finsupp.sum.{u2, u1, u3} (Finsupp.{u2, 0} σ Nat Nat.hasZero) R A (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) _inst_3 (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 u) r) b) (b u r))
but is expected to have type
- forall {R : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] {A : Type.{u2}} [_inst_3 : AddCommMonoid.{u2} A] {u : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} {r : R} {b : (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) -> R -> A}, (Eq.{succ u2} A (b u (OfNat.ofNat.{u3} R 0 (Zero.toOfNat0.{u3} R (CommMonoidWithZero.toZero.{u3} R (CommSemiring.toCommMonoidWithZero.{u3} R _inst_1))))) (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (AddMonoid.toZero.{u2} A (AddCommMonoid.toAddMonoid.{u2} A _inst_3))))) -> (Eq.{succ u2} A (Finsupp.sum.{u1, u3, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R A (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) _inst_3 (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearMap.{u3, u3, u3, max u3 u1} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) 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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u3} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 u) r) b) (b u r))
+ forall {R : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] {A : Type.{u2}} [_inst_3 : AddCommMonoid.{u2} A] {u : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} {r : R} {b : (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) -> R -> A}, (Eq.{succ u2} A (b u (OfNat.ofNat.{u3} R 0 (Zero.toOfNat0.{u3} R (CommMonoidWithZero.toZero.{u3} R (CommSemiring.toCommMonoidWithZero.{u3} R _inst_1))))) (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (AddMonoid.toZero.{u2} A (AddCommMonoid.toAddMonoid.{u2} A _inst_3))))) -> (Eq.{succ u2} A (Finsupp.sum.{u1, u3, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R A (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) _inst_3 (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearMap.{u3, u3, u3, max u3 u1} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) 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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u3} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 u) r) b) (b u r))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.sum_monomial_eq MvPolynomial.sum_monomial_eqₓ'. -/
@[simp]
theorem sum_monomial_eq {A : Type _} [AddCommMonoid A] {u : σ →₀ ℕ} {r : R} {b : (σ →₀ ℕ) → R → A}
@@ -596,7 +596,7 @@ theorem sum_C {A : Type _} [AddCommMonoid A] {b : (σ →₀ ℕ) → R → A} (
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {α : Type.{u3}} (s : Finset.{u3} α) (f : α -> (Finsupp.{u2, 0} σ Nat Nat.hasZero)), Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 (Finset.sum.{u2, u3} (Finsupp.{u2, 0} σ Nat Nat.hasZero) α (Finsupp.addCommMonoid.{u2, 0} σ Nat Nat.addCommMonoid) s (fun (i : α) => f i))) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) (Finset.prod.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) α (CommSemiring.toCommMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) s (fun (i : α) => coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 (f i)) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))))
but is expected to have type
- forall {R : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] {α : Type.{u2}} (s : Finset.{u2} α) (f : α -> (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))), Eq.{max (succ u3) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u3} σ R _inst_1) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearMap.{u3, u3, u3, max u3 u1} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) 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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u3} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 (Finset.sum.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) α (Finsupp.addCommMonoid.{u1, 0} σ Nat Nat.addCommMonoid) s (fun (i : α) => f i))) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) (Finset.prod.{max u1 u3, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u3} σ R _inst_1) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) α (CommSemiring.toCommMonoid.{max u1 u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u3} σ R _inst_1) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) s (fun (i : α) => FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearMap.{u3, u3, u3, max u3 u1} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) 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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u3} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 (f i)) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))))
+ forall {R : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] {α : Type.{u2}} (s : Finset.{u2} α) (f : α -> (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))), Eq.{max (succ u3) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u3} σ R _inst_1) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearMap.{u3, u3, u3, max u3 u1} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) 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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u3} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 (Finset.sum.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) α (Finsupp.addCommMonoid.{u1, 0} σ Nat Nat.addCommMonoid) s (fun (i : α) => f i))) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) (Finset.prod.{max u1 u3, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u3} σ R _inst_1) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) α (CommSemiring.toCommMonoid.{max u1 u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u3} σ R _inst_1) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) s (fun (i : α) => FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearMap.{u3, u3, u3, max u3 u1} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) 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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u3} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 (f i)) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.monomial_sum_one MvPolynomial.monomial_sum_oneₓ'. -/
theorem monomial_sum_one {α : Type _} (s : Finset α) (f : α → σ →₀ ℕ) :
(monomial (∑ i in s, f i) 1 : MvPolynomial σ R) = ∏ i in s, monomial (f i) 1 :=
@@ -607,7 +607,7 @@ theorem monomial_sum_one {α : Type _} (s : Finset α) (f : α → σ →₀ ℕ
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {α : Type.{u3}} (s : Finset.{u3} α) (f : α -> (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (a : R), Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 (Finset.sum.{u2, u3} (Finsupp.{u2, 0} σ Nat Nat.hasZero) α (Finsupp.addCommMonoid.{u2, 0} σ Nat Nat.addCommMonoid) s (fun (i : α) => f i))) a) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a) (Finset.prod.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) α (CommSemiring.toCommMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) s (fun (i : α) => coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 (f i)) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))))
but is expected to have type
- forall {R : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] {α : Type.{u2}} (s : Finset.{u2} α) (f : α -> (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (a : R), Eq.{max (succ u3) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearMap.{u3, u3, u3, max u3 u1} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) 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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u3} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 (Finset.sum.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) α (Finsupp.addCommMonoid.{u1, 0} σ Nat Nat.addCommMonoid) s (fun (i : α) => f i))) a) (HMul.hMul.{max u3 u1, max u1 u3, max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u3} σ R _inst_1) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (instHMul.{max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (CommSemiring.toSemiring.{max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u3} σ R _inst_1) _x) (MulHomClass.toFunLike.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (RingHom.instRingHomClassRingHom.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (MvPolynomial.C.{u3, u1} R σ _inst_1) a) (Finset.prod.{max u1 u3, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u3} σ R _inst_1) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) α (CommSemiring.toCommMonoid.{max u1 u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u3} σ R _inst_1) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) s (fun (i : α) => FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearMap.{u3, u3, u3, max u3 u1} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) 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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u3} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 (f i)) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))))))
+ forall {R : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] {α : Type.{u2}} (s : Finset.{u2} α) (f : α -> (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (a : R), Eq.{max (succ u3) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearMap.{u3, u3, u3, max u3 u1} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) 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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u3} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 (Finset.sum.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) α (Finsupp.addCommMonoid.{u1, 0} σ Nat Nat.addCommMonoid) s (fun (i : α) => f i))) a) (HMul.hMul.{max u3 u1, max u1 u3, max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u3} σ R _inst_1) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (instHMul.{max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (CommSemiring.toSemiring.{max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u3} σ R _inst_1) _x) (MulHomClass.toFunLike.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (RingHom.instRingHomClassRingHom.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (MvPolynomial.C.{u3, u1} R σ _inst_1) a) (Finset.prod.{max u1 u3, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u3} σ R _inst_1) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) α (CommSemiring.toCommMonoid.{max u1 u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u3} σ R _inst_1) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) s (fun (i : α) => FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearMap.{u3, u3, u3, max u3 u1} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) 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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u3} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 (f i)) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))))))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.monomial_sum_index MvPolynomial.monomial_sum_indexₓ'. -/
theorem monomial_sum_index {α : Type _} (s : Finset α) (f : α → σ →₀ ℕ) (a : R) :
monomial (∑ i in s, f i) a = C a * ∏ i in s, monomial (f i) 1 := by
@@ -618,7 +618,7 @@ theorem monomial_sum_index {α : Type _} (s : Finset α) (f : α → σ →₀
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {α : Type.{u3}} {β : Type.{u4}} [_inst_3 : Zero.{u4} β] (f : Finsupp.{u3, u4} α β _inst_3) (g : α -> β -> (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (a : R), Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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.sum.{u3, u4, u2} α β (Finsupp.{u2, 0} σ Nat Nat.hasZero) _inst_3 (Finsupp.addCommMonoid.{u2, 0} σ Nat Nat.addCommMonoid) f g)) a) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a) (Finsupp.prod.{u3, u4, max u2 u1} α β (MvPolynomial.{u2, u1} σ R _inst_1) _inst_3 (CommSemiring.toCommMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) f (fun (a : α) (b : β) => coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 (g a b)) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))))
but is expected to have type
- forall {R : Type.{u4}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u4} R] {α : Type.{u3}} {β : Type.{u2}} [_inst_3 : Zero.{u2} β] (f : Finsupp.{u3, u2} α β _inst_3) (g : α -> β -> (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (a : R), Eq.{max (succ u4) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u4} σ R _inst_1) a) (FunLike.coe.{max (succ u1) (succ u4), succ u4, max (succ u1) (succ u4)} (LinearMap.{u4, u4, u4, max u4 u1} R R (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) R (MvPolynomial.{u1, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (MvPolynomial.module.{u4, u4, u1} R R σ (CommSemiring.toSemiring.{u4} R _inst_1) _inst_1 (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u4} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u4, max u1 u4} R R R (MvPolynomial.{u1, u4} σ R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (MvPolynomial.module.{u4, u4, u1} R R σ (CommSemiring.toSemiring.{u4} R _inst_1) _inst_1 (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (MvPolynomial.monomial.{u4, u1} R σ _inst_1 (Finsupp.sum.{u3, u2, u1} α β (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) _inst_3 (Finsupp.addCommMonoid.{u1, 0} σ Nat Nat.addCommMonoid) f g)) a) (HMul.hMul.{max u4 u1, max u1 u4, max u4 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u4} σ R _inst_1) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u4} σ R _inst_1) (OfNat.ofNat.{u4} R 1 (One.toOfNat1.{u4} R (Semiring.toOne.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u4} σ R _inst_1) a) (instHMul.{max u4 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u4} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u4 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u4} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u4} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u4 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u4} σ R _inst_1) a) (CommSemiring.toSemiring.{max u4 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u4} σ R _inst_1) a) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1)))))) (FunLike.coe.{max (succ u1) (succ u4), succ u4, max (succ u1) (succ u4)} (RingHom.{u4, max u4 u1} R (MvPolynomial.{u1, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u4} σ R _inst_1) _x) (MulHomClass.toFunLike.{max u1 u4, u4, max u1 u4} (RingHom.{u4, max u4 u1} R (MvPolynomial.{u1, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u1, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (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))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u4, u4, max u1 u4} (RingHom.{u4, max u4 u1} R (MvPolynomial.{u1, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u1, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (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)))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u4, u4, max u1 u4} (RingHom.{u4, max u4 u1} R (MvPolynomial.{u1, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u1, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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))) (RingHom.instRingHomClassRingHom.{u4, max u1 u4} R (MvPolynomial.{u1, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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))))))) (MvPolynomial.C.{u4, u1} R σ _inst_1) a) (Finsupp.prod.{u3, u2, max u1 u4} α β ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u4} σ R _inst_1) (OfNat.ofNat.{u4} R 1 (One.toOfNat1.{u4} R (Semiring.toOne.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) _inst_3 (CommSemiring.toCommMonoid.{max u1 u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u4} σ R _inst_1) (OfNat.ofNat.{u4} R 1 (One.toOfNat1.{u4} R (Semiring.toOne.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1)) f (fun (a : α) (b : β) => FunLike.coe.{max (succ u1) (succ u4), succ u4, max (succ u1) (succ u4)} (LinearMap.{u4, u4, u4, max u4 u1} R R (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) R (MvPolynomial.{u1, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (MvPolynomial.module.{u4, u4, u1} R R σ (CommSemiring.toSemiring.{u4} R _inst_1) _inst_1 (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u4} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u4, max u1 u4} R R R (MvPolynomial.{u1, u4} σ R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (MvPolynomial.module.{u4, u4, u1} R R σ (CommSemiring.toSemiring.{u4} R _inst_1) _inst_1 (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (MvPolynomial.monomial.{u4, u1} R σ _inst_1 (g a b)) (OfNat.ofNat.{u4} R 1 (One.toOfNat1.{u4} R (Semiring.toOne.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))))))
+ forall {R : Type.{u4}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u4} R] {α : Type.{u3}} {β : Type.{u2}} [_inst_3 : Zero.{u2} β] (f : Finsupp.{u3, u2} α β _inst_3) (g : α -> β -> (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (a : R), Eq.{max (succ u4) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u4} σ R _inst_1) a) (FunLike.coe.{max (succ u1) (succ u4), succ u4, max (succ u1) (succ u4)} (LinearMap.{u4, u4, u4, max u4 u1} R R (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) R (MvPolynomial.{u1, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (MvPolynomial.module.{u4, u4, u1} R R σ (CommSemiring.toSemiring.{u4} R _inst_1) _inst_1 (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u4} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u4, max u1 u4} R R R (MvPolynomial.{u1, u4} σ R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (MvPolynomial.module.{u4, u4, u1} R R σ (CommSemiring.toSemiring.{u4} R _inst_1) _inst_1 (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (MvPolynomial.monomial.{u4, u1} R σ _inst_1 (Finsupp.sum.{u3, u2, u1} α β (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) _inst_3 (Finsupp.addCommMonoid.{u1, 0} σ Nat Nat.addCommMonoid) f g)) a) (HMul.hMul.{max u4 u1, max u1 u4, max u4 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u4} σ R _inst_1) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u4} σ R _inst_1) (OfNat.ofNat.{u4} R 1 (One.toOfNat1.{u4} R (Semiring.toOne.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u4} σ R _inst_1) a) (instHMul.{max u4 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u4} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u4 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u4} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u4} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u4 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u4} σ R _inst_1) a) (CommSemiring.toSemiring.{max u4 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u4} σ R _inst_1) a) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1)))))) (FunLike.coe.{max (succ u1) (succ u4), succ u4, max (succ u1) (succ u4)} (RingHom.{u4, max u4 u1} R (MvPolynomial.{u1, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u4} σ R _inst_1) _x) (MulHomClass.toFunLike.{max u1 u4, u4, max u1 u4} (RingHom.{u4, max u4 u1} R (MvPolynomial.{u1, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u1, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (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))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u4, u4, max u1 u4} (RingHom.{u4, max u4 u1} R (MvPolynomial.{u1, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u1, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (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)))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u4, u4, max u1 u4} (RingHom.{u4, max u4 u1} R (MvPolynomial.{u1, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u1, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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))) (RingHom.instRingHomClassRingHom.{u4, max u1 u4} R (MvPolynomial.{u1, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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))))))) (MvPolynomial.C.{u4, u1} R σ _inst_1) a) (Finsupp.prod.{u3, u2, max u1 u4} α β ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u4} σ R _inst_1) (OfNat.ofNat.{u4} R 1 (One.toOfNat1.{u4} R (Semiring.toOne.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) _inst_3 (CommSemiring.toCommMonoid.{max u1 u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u4} σ R _inst_1) (OfNat.ofNat.{u4} R 1 (One.toOfNat1.{u4} R (Semiring.toOne.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1)) f (fun (a : α) (b : β) => FunLike.coe.{max (succ u1) (succ u4), succ u4, max (succ u1) (succ u4)} (LinearMap.{u4, u4, u4, max u4 u1} R R (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) R (MvPolynomial.{u1, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (MvPolynomial.module.{u4, u4, u1} R R σ (CommSemiring.toSemiring.{u4} R _inst_1) _inst_1 (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u4} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u4, max u1 u4} R R R (MvPolynomial.{u1, u4} σ R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (MvPolynomial.module.{u4, u4, u1} R R σ (CommSemiring.toSemiring.{u4} R _inst_1) _inst_1 (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (MvPolynomial.monomial.{u4, u1} R σ _inst_1 (g a b)) (OfNat.ofNat.{u4} R 1 (One.toOfNat1.{u4} R (Semiring.toOne.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))))))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.monomial_finsupp_sum_index MvPolynomial.monomial_finsupp_sum_indexₓ'. -/
theorem monomial_finsupp_sum_index {α β : Type _} [Zero β] (f : α →₀ β) (g : α → β → σ →₀ ℕ)
(a : R) : monomial (f.Sum g) a = C a * f.Prod fun a b => monomial (g a b) 1 :=
@@ -629,7 +629,7 @@ theorem monomial_finsupp_sum_index {α β : Type _} [Zero β] (f : α →₀ β)
lean 3 declaration is
forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {α : Type.{u2}} (a₁ : Finsupp.{u2, 0} α Nat Nat.hasZero) (a₂ : Finsupp.{u2, 0} α Nat Nat.hasZero) (b₁ : R) (b₂ : R), Iff (Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} α R _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} α R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 a₁) b₁) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} α R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 a₂) b₂)) (Or (And (Eq.{succ u2} (Finsupp.{u2, 0} α Nat Nat.hasZero) a₁ a₂) (Eq.{succ u1} R b₁ b₂)) (And (Eq.{succ u1} R b₁ (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) (Eq.{succ u1} R b₂ (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))))
but is expected to have type
- forall {R : Type.{u2}} [_inst_1 : CommSemiring.{u2} R] {α : Type.{u1}} (a₁ : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (a₂ : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (b₁ : R) (b₂ : R), Iff (Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} α R _inst_1) b₁) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} α R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} α R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R α (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} α R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} α R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} α R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R α (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R α _inst_1 a₁) b₁) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} α R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} α R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R α (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} α R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} α R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} α R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R α (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R α _inst_1 a₂) b₂)) (Or (And (Eq.{succ u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) a₁ a₂) (Eq.{succ u2} R b₁ b₂)) (And (Eq.{succ u2} R b₁ (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) (Eq.{succ u2} R b₂ (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)))))))
+ forall {R : Type.{u2}} [_inst_1 : CommSemiring.{u2} R] {α : Type.{u1}} (a₁ : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (a₂ : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (b₁ : R) (b₂ : R), Iff (Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} α R _inst_1) b₁) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} α R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} α R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R α (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} α R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} α R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} α R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R α (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R α _inst_1 a₁) b₁) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} α R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} α R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R α (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} α R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} α R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} α R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R α (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R α _inst_1 a₂) b₂)) (Or (And (Eq.{succ u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) a₁ a₂) (Eq.{succ u2} R b₁ b₂)) (And (Eq.{succ u2} R b₁ (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) (Eq.{succ u2} R b₂ (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.monomial_eq_monomial_iff MvPolynomial.monomial_eq_monomial_iffₓ'. -/
theorem monomial_eq_monomial_iff {α : Type _} (a₁ a₂ : α →₀ ℕ) (b₁ b₂ : R) :
monomial a₁ b₁ = monomial a₂ b₂ ↔ a₁ = a₂ ∧ b₁ = b₂ ∨ b₁ = 0 ∧ b₂ = 0 :=
@@ -640,7 +640,7 @@ theorem monomial_eq_monomial_iff {α : Type _} (a₁ a₂ : α →₀ ℕ) (b₁
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} {a : R} {s : Finsupp.{u2, 0} σ Nat Nat.hasZero} [_inst_1 : CommSemiring.{u1} R], Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) a) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a) (Finsupp.prod.{u2, 0, max u2 u1} σ Nat (MvPolynomial.{u2, u1} σ R _inst_1) Nat.hasZero (CommSemiring.toCommMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) s (fun (n : σ) (e : Nat) => HPow.hPow.{max u2 u1, 0, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) Nat (MvPolynomial.{u2, u1} σ R _inst_1) (instHPow.{max u2 u1, 0} (MvPolynomial.{u2, u1} σ R _inst_1) Nat (Monoid.Pow.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MonoidWithZero.toMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (MvPolynomial.X.{u1, u2} R σ _inst_1 n) e)))
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} 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 (_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) a) (Finsupp.prod.{u1, 0, max u2 u1} σ Nat (MvPolynomial.{u1, u2} σ R _inst_1) (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (CommSemiring.toCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) s (fun (n : σ) (e : Nat) => HPow.hPow.{max u1 u2, 0, max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (MvPolynomial.{u1, u2} σ R _inst_1) (instHPow.{max u1 u2, 0} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (Monoid.Pow.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (MvPolynomial.X.{u2, u1} R σ _inst_1 n) e)))
+ forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} 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 (_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) a) (Finsupp.prod.{u1, 0, max u2 u1} σ Nat (MvPolynomial.{u1, u2} σ R _inst_1) (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (CommSemiring.toCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) s (fun (n : σ) (e : Nat) => HPow.hPow.{max u1 u2, 0, max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (MvPolynomial.{u1, u2} σ R _inst_1) (instHPow.{max u1 u2, 0} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (Monoid.Pow.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (MvPolynomial.X.{u2, u1} R σ _inst_1 n) e)))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.monomial_eq MvPolynomial.monomial_eqₓ'. -/
theorem monomial_eq : monomial s a = C a * (s.Prod fun n e => X n ^ e : MvPolynomial σ R) := by
simp only [X_pow_eq_monomial, ← monomial_finsupp_sum_index, Finsupp.sum_single]
@@ -650,7 +650,7 @@ theorem monomial_eq : monomial s a = C a * (s.Prod fun n e => X n ^ e : MvPolyno
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {M : (MvPolynomial.{u2, u1} σ R _inst_1) -> Prop}, (forall (a : R), M (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a)) -> (forall (p : MvPolynomial.{u2, u1} σ R _inst_1) (n : σ), (M p) -> (M (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) p (MvPolynomial.X.{u1, u2} R σ _inst_1 n)))) -> (forall (s : Finsupp.{u2, 0} σ Nat Nat.hasZero) (a : R), M (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) a))
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {M : (MvPolynomial.{u1, u2} σ R _inst_1) -> Prop}, (forall (a : R), M (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) a)) -> (forall (p : MvPolynomial.{u1, u2} σ R _inst_1) (n : σ), (M p) -> (M (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) p (MvPolynomial.X.{u2, u1} R σ _inst_1 n)))) -> (forall (s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (a : R), M (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a))
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {M : (MvPolynomial.{u1, u2} σ R _inst_1) -> Prop}, (forall (a : R), M (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) a)) -> (forall (p : MvPolynomial.{u1, u2} σ R _inst_1) (n : σ), (M p) -> (M (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) p (MvPolynomial.X.{u2, u1} R σ _inst_1 n)))) -> (forall (s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (a : R), M (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.induction_on_monomial MvPolynomial.induction_on_monomialₓ'. -/
theorem induction_on_monomial {M : MvPolynomial σ R → Prop} (h_C : ∀ a, M (C a))
(h_X : ∀ p n, M p → M (p * X n)) : ∀ s a, M (monomial s a) :=
@@ -673,7 +673,7 @@ theorem induction_on_monomial {M : MvPolynomial σ R → Prop} (h_C : ∀ a, M (
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {P : (MvPolynomial.{u2, u1} σ R _inst_1) -> Prop} (p : MvPolynomial.{u2, u1} σ R _inst_1), (forall (u : Finsupp.{u2, 0} σ Nat Nat.hasZero) (a : R), P (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 u) a)) -> (forall (p : MvPolynomial.{u2, u1} σ R _inst_1) (q : MvPolynomial.{u2, u1} σ R _inst_1), (P p) -> (P q) -> (P (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHAdd.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasAdd.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) p q))) -> (P p)
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {P : (MvPolynomial.{u1, u2} σ R _inst_1) -> Prop} (p : MvPolynomial.{u1, u2} σ R _inst_1), (forall (u : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (a : R), P (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 u) a)) -> (forall (p : MvPolynomial.{u1, u2} σ R _inst_1) (q : MvPolynomial.{u1, u2} σ R _inst_1), (P p) -> (P q) -> (P (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHAdd.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (Distrib.toAdd.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))))) p q))) -> (P p)
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {P : (MvPolynomial.{u1, u2} σ R _inst_1) -> Prop} (p : MvPolynomial.{u1, u2} σ R _inst_1), (forall (u : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (a : R), P (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 u) a)) -> (forall (p : MvPolynomial.{u1, u2} σ R _inst_1) (q : MvPolynomial.{u1, u2} σ R _inst_1), (P p) -> (P q) -> (P (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHAdd.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (Distrib.toAdd.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))))) p q))) -> (P p)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.induction_on' MvPolynomial.induction_on'ₓ'. -/
/-- Analog of `polynomial.induction_on'`.
To prove something about mv_polynomials,
@@ -693,7 +693,7 @@ theorem induction_on' {P : MvPolynomial σ R → Prop} (p : MvPolynomial σ R)
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {M : (MvPolynomial.{u2, u1} σ R _inst_1) -> Prop} (p : MvPolynomial.{u2, u1} σ R _inst_1), (forall (a : R), M (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a)) -> (forall (a : Finsupp.{u2, 0} σ Nat Nat.hasZero) (b : R) (f : Finsupp.{u2, u1} (Finsupp.{u2, 0} σ Nat Nat.hasZero) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))), (Not (Membership.Mem.{u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasMem.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) a (Finsupp.support.{u2, u1} (Finsupp.{u2, 0} σ Nat Nat.hasZero) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) f))) -> (Ne.{succ u1} R b (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) -> (M f) -> (M (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHAdd.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasAdd.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 a) b) f))) -> (M p)
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {M : (MvPolynomial.{u1, u2} σ R _inst_1) -> Prop} (p : MvPolynomial.{u1, u2} σ R _inst_1), (forall (a : R), M (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) a)) -> (forall (a : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (b : R) (f : Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))), (Not (Membership.mem.{u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instMembershipFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) a (Finsupp.support.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)) f))) -> (Ne.{succ u2} R b (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) -> (M f) -> (M (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (instHAdd.{max u2 u1} (Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (Finsupp.add.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))))) ([mdata let_fun:1 (fun (this : Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) => this) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 a) b)]) f))) -> (M p)
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {M : (MvPolynomial.{u1, u2} σ R _inst_1) -> Prop} (p : MvPolynomial.{u1, u2} σ R _inst_1), (forall (a : R), M (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) a)) -> (forall (a : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (b : R) (f : Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))), (Not (Membership.mem.{u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instMembershipFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) a (Finsupp.support.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)) f))) -> (Ne.{succ u2} R b (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) -> (M f) -> (M (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (instHAdd.{max u2 u1} (Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (Finsupp.add.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))))) ([mdata let_fun:1 (fun (this : Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) => this) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 a) b)]) f))) -> (M p)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.induction_on''' MvPolynomial.induction_on'''ₓ'. -/
/-- Similar to `mv_polynomial.induction_on` but only a weak form of `h_add` is required.-/
theorem induction_on''' {M : MvPolynomial σ R → Prop} (p : MvPolynomial σ R) (h_C : ∀ a, M (C a))
@@ -708,7 +708,7 @@ theorem induction_on''' {M : MvPolynomial σ R → Prop} (p : MvPolynomial σ R)
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {M : (MvPolynomial.{u2, u1} σ R _inst_1) -> Prop} (p : MvPolynomial.{u2, u1} σ R _inst_1), (forall (a : R), M (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a)) -> (forall (a : Finsupp.{u2, 0} σ Nat Nat.hasZero) (b : R) (f : Finsupp.{u2, u1} (Finsupp.{u2, 0} σ Nat Nat.hasZero) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))), (Not (Membership.Mem.{u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasMem.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) a (Finsupp.support.{u2, u1} (Finsupp.{u2, 0} σ Nat Nat.hasZero) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) f))) -> (Ne.{succ u1} R b (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) -> (M f) -> (M (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 a) b)) -> (M (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHAdd.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasAdd.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 a) b) f))) -> (forall (p : MvPolynomial.{u2, u1} σ R _inst_1) (n : σ), (M p) -> (M (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) p (MvPolynomial.X.{u1, u2} R σ _inst_1 n)))) -> (M p)
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {M : (MvPolynomial.{u1, u2} σ R _inst_1) -> Prop} (p : MvPolynomial.{u1, u2} σ R _inst_1), (forall (a : R), M (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) a)) -> (forall (a : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (b : R) (f : Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))), (Not (Membership.mem.{u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instMembershipFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) a (Finsupp.support.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)) f))) -> (Ne.{succ u2} R b (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) -> (M f) -> (M (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 a) b)) -> (M (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (instHAdd.{max u2 u1} (Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (Finsupp.add.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))))) ([mdata let_fun:1 (fun (this : Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) => this) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 a) b)]) f))) -> (forall (p : MvPolynomial.{u1, u2} σ R _inst_1) (n : σ), (M p) -> (M (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) p (MvPolynomial.X.{u2, u1} R σ _inst_1 n)))) -> (M p)
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {M : (MvPolynomial.{u1, u2} σ R _inst_1) -> Prop} (p : MvPolynomial.{u1, u2} σ R _inst_1), (forall (a : R), M (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) a)) -> (forall (a : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (b : R) (f : Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))), (Not (Membership.mem.{u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instMembershipFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) a (Finsupp.support.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)) f))) -> (Ne.{succ u2} R b (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) -> (M f) -> (M (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 a) b)) -> (M (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (instHAdd.{max u2 u1} (Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (Finsupp.add.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))))) ([mdata let_fun:1 (fun (this : Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) => this) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 a) b)]) f))) -> (forall (p : MvPolynomial.{u1, u2} σ R _inst_1) (n : σ), (M p) -> (M (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) p (MvPolynomial.X.{u2, u1} R σ _inst_1 n)))) -> (M p)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.induction_on'' MvPolynomial.induction_on''ₓ'. -/
/-- Similar to `mv_polynomial.induction_on` but only a yet weaker form of `h_add` is required.-/
theorem induction_on'' {M : MvPolynomial σ R → Prop} (p : MvPolynomial σ R) (h_C : ∀ a, M (C a))
@@ -873,7 +873,7 @@ theorem finsupp_support_eq_support (p : MvPolynomial σ R) : Finsupp.support p =
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} {a : R} {s : Finsupp.{u2, 0} σ Nat Nat.hasZero} [_inst_1 : CommSemiring.{u1} R] [_inst_3 : Decidable (Eq.{succ u1} R a (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))], Eq.{succ u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (MvPolynomial.support.{u1, u2} R σ _inst_1 (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) a)) (ite.{succ u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Eq.{succ u1} R a (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) _inst_3 (EmptyCollection.emptyCollection.{u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasEmptyc.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero))) (Singleton.singleton.{u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasSingleton.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) s))
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u2} R] [_inst_3 : Decidable (Eq.{succ u2} R a (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)))))], 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 (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a)) (ite.{succ u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Eq.{succ u2} R a (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) _inst_3 (EmptyCollection.emptyCollection.{u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instEmptyCollectionFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)))) (Singleton.singleton.{u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instSingletonFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) s))
+ forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u2} R] [_inst_3 : Decidable (Eq.{succ u2} R a (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)))))], 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 (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a)) (ite.{succ u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Eq.{succ u2} R a (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) _inst_3 (EmptyCollection.emptyCollection.{u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instEmptyCollectionFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)))) (Singleton.singleton.{u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instSingletonFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) s))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.support_monomial MvPolynomial.support_monomialₓ'. -/
theorem support_monomial [Decidable (a = 0)] : (monomial s a).support = if a = 0 then ∅ else {s} :=
by convert rfl
@@ -883,7 +883,7 @@ theorem support_monomial [Decidable (a = 0)] : (monomial s a).support = if a = 0
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} {a : R} {s : Finsupp.{u2, 0} σ Nat Nat.hasZero} [_inst_1 : CommSemiring.{u1} R], HasSubset.Subset.{u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasSubset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (MvPolynomial.support.{u1, u2} R σ _inst_1 (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) a)) (Singleton.singleton.{u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasSingleton.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) s)
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u2} R], HasSubset.Subset.{u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instHasSubsetFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.support.{u2, u1} R σ _inst_1 (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a)) (Singleton.singleton.{u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instSingletonFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) s)
+ forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u2} R], HasSubset.Subset.{u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instHasSubsetFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.support.{u2, u1} R σ _inst_1 (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a)) (Singleton.singleton.{u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instSingletonFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) s)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.support_monomial_subset MvPolynomial.support_monomial_subsetₓ'. -/
theorem support_monomial_subset : (monomial s a).support ⊆ {s} :=
support_single_subset
@@ -1098,7 +1098,7 @@ theorem coeff_sum {X : Type _} (s : Finset X) (f : X → MvPolynomial σ R) (m :
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (m : Finsupp.{u2, 0} σ Nat Nat.hasZero), Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 m) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) (Finsupp.prod.{u2, 0, max u2 u1} σ Nat (MvPolynomial.{u2, u1} σ R _inst_1) Nat.hasZero (CommSemiring.toCommMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) m (fun (n : σ) (e : Nat) => HPow.hPow.{max u2 u1, 0, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) Nat (MvPolynomial.{u2, u1} σ R _inst_1) (instHPow.{max u2 u1, 0} (MvPolynomial.{u2, u1} σ R _inst_1) Nat (Monoid.Pow.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MonoidWithZero.toMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (MvPolynomial.X.{u1, u2} R σ _inst_1 n) e))
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 m) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (Finsupp.prod.{u1, 0, max u2 u1} σ Nat (MvPolynomial.{u1, u2} σ R _inst_1) (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (CommSemiring.toCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) m (fun (n : σ) (e : Nat) => HPow.hPow.{max u1 u2, 0, max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (MvPolynomial.{u1, u2} σ R _inst_1) (instHPow.{max u1 u2, 0} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (Monoid.Pow.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (MvPolynomial.X.{u2, u1} R σ _inst_1 n) e))
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 m) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (Finsupp.prod.{u1, 0, max u2 u1} σ Nat (MvPolynomial.{u1, u2} σ R _inst_1) (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (CommSemiring.toCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) m (fun (n : σ) (e : Nat) => HPow.hPow.{max u1 u2, 0, max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (MvPolynomial.{u1, u2} σ R _inst_1) (instHPow.{max u1 u2, 0} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (Monoid.Pow.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (MvPolynomial.X.{u2, u1} R σ _inst_1 n) e))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.monic_monomial_eq MvPolynomial.monic_monomial_eqₓ'. -/
theorem monic_monomial_eq (m) :
monomial m (1 : R) = (m.Prod fun n e => X n ^ e : MvPolynomial σ R) := by simp [monomial_eq]
@@ -1108,7 +1108,7 @@ theorem monic_monomial_eq (m) :
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_3 : DecidableEq.{succ u2} σ] (m : Finsupp.{u2, 0} σ Nat Nat.hasZero) (n : Finsupp.{u2, 0} σ Nat Nat.hasZero) (a : R), Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 n) a)) (ite.{succ u1} R (Eq.{succ u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) n m) (Finsupp.decidableEq.{u2, 0} σ Nat Nat.hasZero (fun (a : σ) (b : σ) => _inst_3 a b) (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) n m) a (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_3 : DecidableEq.{succ u1} σ] (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (n : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (a : R), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 n) a)) (ite.{succ u2} R (Eq.{succ u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) n m) (Finsupp.decidableEq.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (fun (a : σ) (b : σ) => _inst_3 a b) (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) n m) a (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)))))
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_3 : DecidableEq.{succ u1} σ] (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (n : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (a : R), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 n) a)) (ite.{succ u2} R (Eq.{succ u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) n m) (Finsupp.decidableEq.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (fun (a : σ) (b : σ) => _inst_3 a b) (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) n m) a (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_monomial MvPolynomial.coeff_monomialₓ'. -/
@[simp]
theorem coeff_monomial [DecidableEq σ] (m n) (a) :
@@ -1226,7 +1226,7 @@ theorem coeff_mul (p q : MvPolynomial σ R) (n : σ →₀ ℕ) :
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (m : Finsupp.{u2, 0} σ Nat Nat.hasZero) (s : Finsupp.{u2, 0} σ Nat Nat.hasZero) (r : R) (p : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 (HAdd.hAdd.{u2, u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (instHAdd.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.add.{u2, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) m s) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) p (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) r))) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m p) r)
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (r : R) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 (HAdd.hAdd.{u1, u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHAdd.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.add.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) m s) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) p (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) r))) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m p) r)
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (r : R) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 (HAdd.hAdd.{u1, u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHAdd.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.add.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) m s) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) p (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) r))) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m p) r)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.coeff_mul_monomial MvPolynomial.coeff_mul_monomialₓ'. -/
@[simp]
theorem coeff_mul_monomial (m) (s : σ →₀ ℕ) (r : R) (p : MvPolynomial σ R) :
@@ -1238,7 +1238,7 @@ theorem coeff_mul_monomial (m) (s : σ →₀ ℕ) (r : R) (p : MvPolynomial σ
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (m : Finsupp.{u2, 0} σ Nat Nat.hasZero) (s : Finsupp.{u2, 0} σ Nat Nat.hasZero) (r : R) (p : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 (HAdd.hAdd.{u2, u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (instHAdd.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.add.{u2, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) s m) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) r) p)) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) r (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m p))
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (r : R) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 (HAdd.hAdd.{u1, u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHAdd.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.add.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) s m) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) r) p)) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) r (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m p))
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (r : R) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 (HAdd.hAdd.{u1, u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHAdd.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.add.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) s m) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) r) p)) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) r (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m p))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.coeff_monomial_mul MvPolynomial.coeff_monomial_mulₓ'. -/
@[simp]
theorem coeff_monomial_mul (m) (s : σ →₀ ℕ) (r : R) (p : MvPolynomial σ R) :
@@ -1340,7 +1340,7 @@ theorem support_symmDiff_support_subset_support_add [DecidableEq σ] (p q : MvPo
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (m : Finsupp.{u2, 0} σ Nat Nat.hasZero) (s : Finsupp.{u2, 0} σ Nat Nat.hasZero) (r : R) (p : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) p (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) r))) (ite.{succ u1} R (LE.le.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.hasLe.{u2, 0} σ Nat Nat.hasZero Nat.hasLe) s m) (Finsupp.decidableLE.{u2, 0} σ Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) (fun (a : Nat) (b : Nat) => Nat.decidableLe a b) s m) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (MvPolynomial.coeff.{u1, u2} R σ _inst_1 (HSub.hSub.{u2, u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (instHSub.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.tsub.{u2, 0} σ Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) Nat.hasSub Nat.orderedSub)) m s) p) r) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (r : R) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) p (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) r))) (ite.{succ u2} R (LE.le.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.instLEFinsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) instLENat) s m) (Finsupp.decidableLE.{u1, 0} σ Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) (fun (a : Nat) (b : Nat) => Nat.decLe a b) s m) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 (HSub.hSub.{u1, u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHSub.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.tsub.{u1, 0} σ Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) instSubNat Nat.instOrderedSubNatInstLENatInstAddNatInstSubNat)) m s) p) r) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)))))
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (r : R) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) p (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) r))) (ite.{succ u2} R (LE.le.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.instLEFinsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) instLENat) s m) (Finsupp.decidableLE.{u1, 0} σ Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) (fun (a : Nat) (b : Nat) => Nat.decLe a b) s m) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 (HSub.hSub.{u1, u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHSub.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.tsub.{u1, 0} σ Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) instSubNat Nat.instOrderedSubNatInstLENatInstAddNatInstSubNat)) m s) p) r) (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_mul_monomial' MvPolynomial.coeff_mul_monomial'ₓ'. -/
theorem coeff_mul_monomial' (m) (s : σ →₀ ℕ) (r : R) (p : MvPolynomial σ R) :
coeff m (p * monomial s r) = if s ≤ m then coeff (m - s) p * r else 0 := by
@@ -1369,7 +1369,7 @@ theorem coeff_mul_monomial' (m) (s : σ →₀ ℕ) (r : R) (p : MvPolynomial σ
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (m : Finsupp.{u2, 0} σ Nat Nat.hasZero) (s : Finsupp.{u2, 0} σ Nat Nat.hasZero) (r : R) (p : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) r) p)) (ite.{succ u1} R (LE.le.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.hasLe.{u2, 0} σ Nat Nat.hasZero Nat.hasLe) s m) (Finsupp.decidableLE.{u2, 0} σ Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) (fun (a : Nat) (b : Nat) => Nat.decidableLe a b) s m) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) r (MvPolynomial.coeff.{u1, u2} R σ _inst_1 (HSub.hSub.{u2, u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (instHSub.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.tsub.{u2, 0} σ Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) Nat.hasSub Nat.orderedSub)) m s) p)) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (r : R) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) r) p)) (ite.{succ u2} R (LE.le.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.instLEFinsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) instLENat) s m) (Finsupp.decidableLE.{u1, 0} σ Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) (fun (a : Nat) (b : Nat) => Nat.decLe a b) s m) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) r (MvPolynomial.coeff.{u2, u1} R σ _inst_1 (HSub.hSub.{u1, u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHSub.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.tsub.{u1, 0} σ Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) instSubNat Nat.instOrderedSubNatInstLENatInstAddNatInstSubNat)) m s) p)) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)))))
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (r : R) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) r) p)) (ite.{succ u2} R (LE.le.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.instLEFinsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) instLENat) s m) (Finsupp.decidableLE.{u1, 0} σ Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) (fun (a : Nat) (b : Nat) => Nat.decLe a b) s m) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) r (MvPolynomial.coeff.{u2, u1} R σ _inst_1 (HSub.hSub.{u1, u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHSub.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.tsub.{u1, 0} σ Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) instSubNat Nat.instOrderedSubNatInstLENatInstAddNatInstSubNat)) m s) p)) (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_monomial_mul' MvPolynomial.coeff_monomial_mul'ₓ'. -/
theorem coeff_monomial_mul' (m) (s : σ →₀ ℕ) (r : R) (p : MvPolynomial σ R) :
coeff m (monomial s r * p) = if s ≤ m then r * coeff (m - s) p else 0 :=
@@ -1553,7 +1553,7 @@ theorem constantCoeff_smul {R : Type _} [SMulZeroClass R S₁] (a : R) (f : MvPo
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_3 : DecidableEq.{succ u2} σ] (d : Finsupp.{u2, 0} σ Nat Nat.hasZero) (r : R), Eq.{succ u1} R (coeFn.{max (succ (max u2 u1)) (succ u1), max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u2, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.constantCoeff.{u1, u2} R σ _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 d) r)) (ite.{succ u1} R (Eq.{succ u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) d (OfNat.ofNat.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (OfNat.mk.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (Zero.zero.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.zero.{u2, 0} σ Nat Nat.hasZero))))) (Finsupp.decidableEq.{u2, 0} σ Nat Nat.hasZero (fun (a : σ) (b : σ) => _inst_3 a b) (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) d (OfNat.ofNat.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (OfNat.mk.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (Zero.zero.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.zero.{u2, 0} σ Nat Nat.hasZero))))) r (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_3 : DecidableEq.{succ u1} σ] (d : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (r : R), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 d) r)) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (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) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 d) r)) (ite.{succ u2} R (Eq.{succ u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) d (OfNat.ofNat.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) 0 (Zero.toOfNat0.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.zero.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))))) (Finsupp.decidableEq.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (fun (a : σ) (b : σ) => _inst_3 a b) (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) d (OfNat.ofNat.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) 0 (Zero.toOfNat0.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.zero.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))))) r (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)))))
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_3 : DecidableEq.{succ u1} σ] (d : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (r : R), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 d) r)) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (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) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 d) r)) (ite.{succ u2} R (Eq.{succ u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) d (OfNat.ofNat.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) 0 (Zero.toOfNat0.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.zero.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))))) (Finsupp.decidableEq.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (fun (a : σ) (b : σ) => _inst_3 a b) (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) d (OfNat.ofNat.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) 0 (Zero.toOfNat0.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.zero.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))))) r (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.constant_coeff_monomial MvPolynomial.constantCoeff_monomialₓ'. -/
theorem constantCoeff_monomial [DecidableEq σ] (d : σ →₀ ℕ) (r : R) :
constantCoeff (monomial d r) = if d = 0 then r else 0 := by
@@ -1595,7 +1595,7 @@ section AsSum
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (p : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{succ (max u2 u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (Finset.sum.{max u2 u1, u2} (MvPolynomial.{u2, u1} σ R _inst_1) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (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))))) (MvPolynomial.support.{u1, u2} R σ _inst_1 p) (fun (v : Finsupp.{u2, 0} σ Nat Nat.hasZero) => coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 v) (MvPolynomial.coeff.{u1, u2} R σ _inst_1 v p))) p
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u1, u2} σ R _inst_1) (Finset.sum.{max u2 u1, u1} (MvPolynomial.{u1, u2} σ R _inst_1) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (MvPolynomial.support.{u2, u1} R σ _inst_1 p) (fun (v : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 v) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 v p))) p
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u1, u2} σ R _inst_1) (Finset.sum.{max u2 u1, u1} (MvPolynomial.{u1, u2} σ R _inst_1) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (MvPolynomial.support.{u2, u1} R σ _inst_1 p) (fun (v : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 v) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 v p))) p
Case conversion may be inaccurate. Consider using '#align mv_polynomial.support_sum_monomial_coeff MvPolynomial.support_sum_monomial_coeffₓ'. -/
@[simp]
theorem support_sum_monomial_coeff (p : MvPolynomial σ R) :
@@ -1607,7 +1607,7 @@ theorem support_sum_monomial_coeff (p : MvPolynomial σ R) :
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (p : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) p (Finset.sum.{max u2 u1, u2} (MvPolynomial.{u2, u1} σ R _inst_1) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (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))))) (MvPolynomial.support.{u1, u2} R σ _inst_1 p) (fun (v : Finsupp.{u2, 0} σ Nat Nat.hasZero) => coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 v) (MvPolynomial.coeff.{u1, u2} R σ _inst_1 v p)))
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u1, u2} σ R _inst_1) p (Finset.sum.{max u2 u1, u1} (MvPolynomial.{u1, u2} σ R _inst_1) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (MvPolynomial.support.{u2, u1} R σ _inst_1 p) (fun (v : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 v) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 v p)))
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u1, u2} σ R _inst_1) p (Finset.sum.{max u2 u1, u1} (MvPolynomial.{u1, u2} σ R _inst_1) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (MvPolynomial.support.{u2, u1} R σ _inst_1 p) (fun (v : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 v) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 v p)))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.as_sum MvPolynomial.as_sumₓ'. -/
theorem as_sum (p : MvPolynomial σ R) : p = ∑ v in p.support, monomial v (coeff v p) :=
(support_sum_monomial_coeff p).symm
@@ -1679,7 +1679,7 @@ theorem eval₂_add : (p + q).eval₂ f g = p.eval₂ f g + q.eval₂ f g := by
lean 3 declaration is
forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} {a : R} {s : Finsupp.{u3, 0} σ Nat Nat.hasZero} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : σ -> S₁), Eq.{succ u2} S₁ (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g (coeFn.{max (succ u1) (succ (max u3 u1)), max (succ u1) (succ (max u3 u1))} (LinearMap.{u1, u1, u1, max u3 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u3 u1} 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 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))))) (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 -> (MvPolynomial.{u3, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) a)) (HMul.hMul.{u2, u2, u2} S₁ S₁ S₁ (instHMul.{u2} S₁ (Distrib.toHasMul.{u2} S₁ (NonUnitalNonAssocSemiring.toDistrib.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) f a) (Finsupp.prod.{u3, 0, u2} σ Nat S₁ Nat.hasZero (CommSemiring.toCommMonoid.{u2} S₁ _inst_2) s (fun (n : σ) (e : Nat) => HPow.hPow.{u2, 0, u2} S₁ Nat S₁ (instHPow.{u2, 0} S₁ Nat (Monoid.Pow.{u2} S₁ (MonoidWithZero.toMonoid.{u2} S₁ (Semiring.toMonoidWithZero.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))))) (g n) e)))
but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} {a : R} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁), Eq.{succ u3} S₁ (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a)) (HMul.hMul.{u3, u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) S₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (instHMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (NonUnitalNonAssocSemiring.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2))))) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f a) (Finsupp.prod.{u1, 0, u3} σ Nat S₁ (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (CommSemiring.toCommMonoid.{u3} S₁ _inst_2) s (fun (n : σ) (e : Nat) => HPow.hPow.{u3, 0, u3} S₁ Nat S₁ (instHPow.{u3, 0} S₁ Nat (Monoid.Pow.{u3} S₁ (MonoidWithZero.toMonoid.{u3} S₁ (Semiring.toMonoidWithZero.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))))) (g n) e)))
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} {a : R} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁), Eq.{succ u3} S₁ (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a)) (HMul.hMul.{u3, u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) S₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (instHMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (NonUnitalNonAssocSemiring.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2))))) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f a) (Finsupp.prod.{u1, 0, u3} σ Nat S₁ (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (CommSemiring.toCommMonoid.{u3} S₁ _inst_2) s (fun (n : σ) (e : Nat) => HPow.hPow.{u3, 0, u3} S₁ Nat S₁ (instHPow.{u3, 0} S₁ Nat (Monoid.Pow.{u3} S₁ (MonoidWithZero.toMonoid.{u3} S₁ (Semiring.toMonoidWithZero.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))))) (g n) e)))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_monomial MvPolynomial.eval₂_monomialₓ'. -/
@[simp]
theorem eval₂_monomial : (monomial s a).eval₂ f g = f a * s.Prod fun n e => g n ^ e :=
@@ -1723,7 +1723,7 @@ theorem eval₂_X (n) : (X n).eval₂ f g = g n := by
lean 3 declaration is
forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] {p : MvPolynomial.{u3, u1} σ R _inst_1} (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : σ -> S₁) {s : Finsupp.{u3, 0} σ Nat Nat.hasZero} {a : R}, Eq.{succ u2} S₁ (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g (HMul.hMul.{max u3 u1, max u3 u1, max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u1} σ R _inst_1) (instHMul.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (Distrib.toHasMul.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) p (coeFn.{max (succ u1) (succ (max u3 u1)), max (succ u1) (succ (max u3 u1))} (LinearMap.{u1, u1, u1, max u3 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u3 u1} 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 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))))) (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 -> (MvPolynomial.{u3, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) a))) (HMul.hMul.{u2, u2, u2} S₁ S₁ S₁ (instHMul.{u2} S₁ (Distrib.toHasMul.{u2} S₁ (NonUnitalNonAssocSemiring.toDistrib.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))))) (HMul.hMul.{u2, u2, u2} S₁ S₁ S₁ (instHMul.{u2} S₁ (Distrib.toHasMul.{u2} S₁ (NonUnitalNonAssocSemiring.toDistrib.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))))) (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g p) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) f a)) (Finsupp.prod.{u3, 0, u2} σ Nat S₁ Nat.hasZero (CommSemiring.toCommMonoid.{u2} S₁ _inst_2) s (fun (n : σ) (e : Nat) => HPow.hPow.{u2, 0, u2} S₁ Nat S₁ (instHPow.{u2, 0} S₁ Nat (Monoid.Pow.{u2} S₁ (MonoidWithZero.toMonoid.{u2} S₁ (Semiring.toMonoidWithZero.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))))) (g n) e)))
but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] {p : MvPolynomial.{u1, u2} σ R _inst_1} (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁) {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} {a : R}, Eq.{succ u3} S₁ (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) p (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a))) (HMul.hMul.{u3, u3, u3} S₁ S₁ S₁ (instHMul.{u3} S₁ (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))))) (HMul.hMul.{u3, u3, u3} S₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) S₁ (instHMul.{u3} S₁ (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))))) (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g p) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f a)) (Finsupp.prod.{u1, 0, u3} σ Nat S₁ (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (CommSemiring.toCommMonoid.{u3} S₁ _inst_2) s (fun (n : σ) (e : Nat) => HPow.hPow.{u3, 0, u3} S₁ Nat S₁ (instHPow.{u3, 0} S₁ Nat (Monoid.Pow.{u3} S₁ (MonoidWithZero.toMonoid.{u3} S₁ (Semiring.toMonoidWithZero.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))))) (g n) e)))
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] {p : MvPolynomial.{u1, u2} σ R _inst_1} (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁) {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} {a : R}, Eq.{succ u3} S₁ (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) p (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a))) (HMul.hMul.{u3, u3, u3} S₁ S₁ S₁ (instHMul.{u3} S₁ (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))))) (HMul.hMul.{u3, u3, u3} S₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) S₁ (instHMul.{u3} S₁ (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))))) (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g p) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f a)) (Finsupp.prod.{u1, 0, u3} σ Nat S₁ (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (CommSemiring.toCommMonoid.{u3} S₁ _inst_2) s (fun (n : σ) (e : Nat) => HPow.hPow.{u3, 0, u3} S₁ Nat S₁ (instHPow.{u3, 0} S₁ Nat (Monoid.Pow.{u3} S₁ (MonoidWithZero.toMonoid.{u3} S₁ (Semiring.toMonoidWithZero.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))))) (g n) e)))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_mul_monomial MvPolynomial.eval₂_mul_monomialₓ'. -/
theorem eval₂_mul_monomial :
∀ {s a}, (p * monomial s a).eval₂ f g = p.eval₂ f g * f a * s.Prod fun n e => g n ^ e := by
@@ -1875,7 +1875,7 @@ theorem map_eval₂Hom [CommSemiring S₂] (f : R →+* S₁) (g : σ → S₁)
lean 3 declaration is
forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : σ -> S₁) (d : Finsupp.{u3, 0} σ Nat Nat.hasZero) (r : R), Eq.{succ u2} S₁ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (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))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (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))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) (RingHom.hasCoeToFun.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (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))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (MvPolynomial.eval₂Hom.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g) (coeFn.{max (succ u1) (succ (max u3 u1)), max (succ u1) (succ (max u3 u1))} (LinearMap.{u1, u1, u1, max u3 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u3 u1} 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 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))))) (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 -> (MvPolynomial.{u3, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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)) (HMul.hMul.{u2, u2, u2} S₁ S₁ S₁ (instHMul.{u2} S₁ (Distrib.toHasMul.{u2} S₁ (NonUnitalNonAssocSemiring.toDistrib.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) f r) (Finsupp.prod.{u3, 0, u2} σ Nat S₁ Nat.hasZero (CommSemiring.toCommMonoid.{u2} S₁ _inst_2) d (fun (i : σ) (k : Nat) => HPow.hPow.{u2, 0, u2} S₁ Nat S₁ (instHPow.{u2, 0} S₁ Nat (Monoid.Pow.{u2} S₁ (MonoidWithZero.toMonoid.{u2} S₁ (Semiring.toMonoidWithZero.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))))) (g i) k)))
but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁) (d : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (r : R), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 d) r)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} 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 u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} 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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 d) r)) (HMul.hMul.{u3, u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) S₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (instHMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (NonUnitalNonAssocSemiring.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2))))) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f r) (Finsupp.prod.{u1, 0, u3} σ Nat S₁ (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (CommSemiring.toCommMonoid.{u3} S₁ _inst_2) d (fun (i : σ) (k : Nat) => HPow.hPow.{u3, 0, u3} S₁ Nat S₁ (instHPow.{u3, 0} S₁ Nat (Monoid.Pow.{u3} S₁ (MonoidWithZero.toMonoid.{u3} S₁ (Semiring.toMonoidWithZero.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))))) (g i) k)))
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁) (d : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (r : R), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 d) r)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} 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 u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} 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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 d) r)) (HMul.hMul.{u3, u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) S₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (instHMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (NonUnitalNonAssocSemiring.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2))))) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f r) (Finsupp.prod.{u1, 0, u3} σ Nat S₁ (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (CommSemiring.toCommMonoid.{u3} S₁ _inst_2) d (fun (i : σ) (k : Nat) => HPow.hPow.{u3, 0, u3} S₁ Nat S₁ (instHPow.{u3, 0} S₁ Nat (Monoid.Pow.{u3} S₁ (MonoidWithZero.toMonoid.{u3} S₁ (Semiring.toMonoidWithZero.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))))) (g i) k)))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_hom_monomial MvPolynomial.eval₂Hom_monomialₓ'. -/
theorem eval₂Hom_monomial (f : R →+* S₁) (g : σ → S₁) (d : σ →₀ ℕ) (r : R) :
eval₂Hom f g (monomial d r) = f r * d.Prod fun i k => g i ^ k := by
@@ -2006,7 +2006,7 @@ theorem eval_eq' [Fintype σ] (x : σ → R) (f : MvPolynomial σ R) :
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} {a : R} {s : Finsupp.{u2, 0} σ Nat Nat.hasZero} [_inst_1 : CommSemiring.{u1} R] {f : σ -> R}, Eq.{succ u1} R (coeFn.{max (succ (max u2 u1)) (succ u1), max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u2, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.eval.{u1, u2} R σ _inst_1 f) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) a)) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) a (Finsupp.prod.{u2, 0, u1} σ Nat R Nat.hasZero (CommSemiring.toCommMonoid.{u1} R _inst_1) s (fun (n : σ) (e : Nat) => HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (f n) e)))
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u2} R] {f : σ -> R}, Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (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) => R) _x) (MulHomClass.toFunLike.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.eval.{u2, u1} R σ _inst_1 f) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a)) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) a (Finsupp.prod.{u1, 0, u2} σ Nat R (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (CommSemiring.toCommMonoid.{u2} R _inst_1) s (fun (n : σ) (e : Nat) => HPow.hPow.{u2, 0, u2} R Nat R (instHPow.{u2, 0} R Nat (Monoid.Pow.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (f n) e)))
+ forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u2} R] {f : σ -> R}, Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (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) => R) _x) (MulHomClass.toFunLike.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.eval.{u2, u1} R σ _inst_1 f) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a)) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) a (Finsupp.prod.{u1, 0, u2} σ Nat R (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (CommSemiring.toCommMonoid.{u2} R _inst_1) s (fun (n : σ) (e : Nat) => HPow.hPow.{u2, 0, u2} R Nat R (instHPow.{u2, 0} R Nat (Monoid.Pow.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (f n) e)))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval_monomial MvPolynomial.eval_monomialₓ'. -/
theorem eval_monomial : eval f (monomial s a) = a * s.Prod fun n e => f n ^ e :=
eval₂_monomial _ _
@@ -2129,7 +2129,7 @@ def map : MvPolynomial σ R →+* MvPolynomial σ S₁ :=
lean 3 declaration is
forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (s : Finsupp.{u3, 0} σ Nat Nat.hasZero) (a : R), Eq.{max (succ u3) (succ u2)} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (coeFn.{max (succ (max u3 u1)) (succ (max u3 u2)), max (succ (max u3 u1)) (succ (max u3 u2))} (RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (fun (_x : RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> (MvPolynomial.{u3, u2} σ S₁ _inst_2)) (RingHom.hasCoeToFun.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (MvPolynomial.map.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f) (coeFn.{max (succ u1) (succ (max u3 u1)), max (succ u1) (succ (max u3 u1))} (LinearMap.{u1, u1, u1, max u3 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u3 u1} 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 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))))) (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 -> (MvPolynomial.{u3, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) a)) (coeFn.{max (succ u2) (succ (max u3 u2)), max (succ u2) (succ (max u3 u2))} (LinearMap.{u2, u2, u2, max u3 u2} S₁ S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (RingHom.id.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) S₁ (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))))) (Semiring.toModule.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (MvPolynomial.module.{u2, u2, u3} S₁ S₁ σ (CommSemiring.toSemiring.{u2} S₁ _inst_2) _inst_2 (Semiring.toModule.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))) (fun (_x : LinearMap.{u2, u2, u2, max u3 u2} S₁ S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (RingHom.id.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) S₁ (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))))) (Semiring.toModule.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (MvPolynomial.module.{u2, u2, u3} S₁ S₁ σ (CommSemiring.toSemiring.{u2} S₁ _inst_2) _inst_2 (Semiring.toModule.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))) => S₁ -> (MvPolynomial.{u3, u2} σ S₁ _inst_2)) (LinearMap.hasCoeToFun.{u2, u2, u2, max u3 u2} S₁ S₁ S₁ (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))))) (Semiring.toModule.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (MvPolynomial.module.{u2, u2, u3} S₁ S₁ σ (CommSemiring.toSemiring.{u2} S₁ _inst_2) _inst_2 (Semiring.toModule.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (RingHom.id.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))) (MvPolynomial.monomial.{u2, u3} S₁ σ _inst_2 s) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) f a))
but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (a : R), Eq.{max (succ u3) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, 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) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a)) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearMap.{u3, u3, u3, max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (RingHom.id.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) σ _inst_2))))) (Semiring.toModule.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2)) (MvPolynomial.module.{u3, u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) σ (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) _inst_2 (Semiring.toModule.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2)))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) => MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u3, max u1 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) σ _inst_2))))) (Semiring.toModule.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2)) (MvPolynomial.module.{u3, u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) σ (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) _inst_2 (Semiring.toModule.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2))) (RingHom.id.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2)))) (MvPolynomial.monomial.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) σ _inst_2 s) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f a))
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (a : R), Eq.{max (succ u3) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, 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) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a)) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearMap.{u3, u3, u3, max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (RingHom.id.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) σ _inst_2))))) (Semiring.toModule.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2)) (MvPolynomial.module.{u3, u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) σ (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) _inst_2 (Semiring.toModule.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2)))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) => MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u3, max u1 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) σ _inst_2))))) (Semiring.toModule.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2)) (MvPolynomial.module.{u3, u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) σ (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) _inst_2 (Semiring.toModule.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2))) (RingHom.id.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2)))) (MvPolynomial.monomial.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) σ _inst_2 s) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f a))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.map_monomial MvPolynomial.map_monomialₓ'. -/
@[simp]
theorem map_monomial (s : σ →₀ ℕ) (a : R) : map f (monomial s a) = monomial s (f a) :=
@@ -2736,7 +2736,7 @@ theorem eval_zero' : eval (fun _ => 0 : σ → R) = constantCoeff :=
lean 3 declaration is
forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : Algebra.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2)] (g : σ -> S₁) (d : Finsupp.{u3, 0} σ Nat Nat.hasZero) (r : R), Eq.{succ u2} S₁ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (fun (_x : AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) ([anonymous].{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (MvPolynomial.aeval.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 _inst_3 g) (coeFn.{max (succ u1) (succ (max u3 u1)), max (succ u1) (succ (max u3 u1))} (LinearMap.{u1, u1, u1, max u3 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u3 u1} 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 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))))) (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 -> (MvPolynomial.{u3, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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)) (HMul.hMul.{u2, u2, u2} S₁ S₁ S₁ (instHMul.{u2} S₁ (Distrib.toHasMul.{u2} S₁ (NonUnitalNonAssocSemiring.toDistrib.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (algebraMap.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) _inst_3) r) (Finsupp.prod.{u3, 0, u2} σ Nat S₁ Nat.hasZero (CommSemiring.toCommMonoid.{u2} S₁ _inst_2) d (fun (i : σ) (k : Nat) => HPow.hPow.{u2, 0, u2} S₁ Nat S₁ (instHPow.{u2, 0} S₁ Nat (Monoid.Pow.{u2} S₁ (MonoidWithZero.toMonoid.{u2} S₁ (Semiring.toMonoidWithZero.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))))) (g i) k)))
but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : Algebra.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2)] (g : σ -> S₁) (d : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (r : R), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 d) r)) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u1) (succ u2), succ u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (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) => S₁) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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, 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.{u2, 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.{u2, u3} R S₁ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{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.{u2, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, 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.{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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u1 u2, u3, max (max u3 u1) u2} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3 (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (AlgHom.algHomClass.{u2, max u1 u2, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3))))) (MvPolynomial.aeval.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_3 g) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 d) r)) (HMul.hMul.{u3, u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) S₁ ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 d) r)) (instHMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (NonUnitalNonAssocSemiring.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2))))) (FunLike.coe.{max (succ u3) (succ u2), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) _x) (MulHomClass.toFunLike.{max u3 u2, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (algebraMap.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3) r) (Finsupp.prod.{u1, 0, u3} σ Nat S₁ (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (CommSemiring.toCommMonoid.{u3} S₁ _inst_2) d (fun (i : σ) (k : Nat) => HPow.hPow.{u3, 0, u3} S₁ Nat S₁ (instHPow.{u3, 0} S₁ Nat (Monoid.Pow.{u3} S₁ (MonoidWithZero.toMonoid.{u3} S₁ (Semiring.toMonoidWithZero.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))))) (g i) k)))
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : Algebra.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2)] (g : σ -> S₁) (d : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (r : R), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 d) r)) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u1) (succ u2), succ u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (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) => S₁) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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, 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.{u2, 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.{u2, u3} R S₁ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{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.{u2, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, 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.{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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u1 u2, u3, max (max u3 u1) u2} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3 (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (AlgHom.algHomClass.{u2, max u1 u2, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3))))) (MvPolynomial.aeval.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_3 g) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 d) r)) (HMul.hMul.{u3, u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) S₁ ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 d) r)) (instHMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (NonUnitalNonAssocSemiring.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2))))) (FunLike.coe.{max (succ u3) (succ u2), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) _x) (MulHomClass.toFunLike.{max u3 u2, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (algebraMap.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3) r) (Finsupp.prod.{u1, 0, u3} σ Nat S₁ (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (CommSemiring.toCommMonoid.{u3} S₁ _inst_2) d (fun (i : σ) (k : Nat) => HPow.hPow.{u3, 0, u3} S₁ Nat S₁ (instHPow.{u3, 0} S₁ Nat (Monoid.Pow.{u3} S₁ (MonoidWithZero.toMonoid.{u3} S₁ (Semiring.toMonoidWithZero.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))))) (g i) k)))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_monomial MvPolynomial.aeval_monomialₓ'. -/
theorem aeval_monomial (g : σ → S₁) (d : σ →₀ ℕ) (r : R) :
aeval g (monomial d r) = algebraMap _ _ r * d.Prod fun i k => g i ^ k :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/0b9eaaa7686280fad8cce467f5c3c57ee6ce77f8
@@ -4,7 +4,7 @@ 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.basic
-! leanprover-community/mathlib commit 4e529b03dd62b7b7d13806c3fb974d9d4848910e
+! leanprover-community/mathlib commit 2f5b500a507264de86d666a5f87ddb976e2d8de4
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -77,7 +77,7 @@ polynomial, multivariate polynomial, multivariable polynomial
noncomputable section
-open Classical BigOperators
+open BigOperators
open Set Function Finsupp AddMonoidAlgebra
@@ -891,11 +891,11 @@ theorem support_monomial_subset : (monomial s a).support ⊆ {s} :=
/- warning: mv_polynomial.support_add -> MvPolynomial.support_add is a dubious translation:
lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {p : MvPolynomial.{u2, u1} σ R _inst_1} {q : MvPolynomial.{u2, u1} σ R _inst_1}, HasSubset.Subset.{u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasSubset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (MvPolynomial.support.{u1, u2} R σ _inst_1 (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHAdd.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasAdd.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) p q)) (Union.union.{u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasUnion.{u2} (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)) (MvPolynomial.support.{u1, u2} R σ _inst_1 p) (MvPolynomial.support.{u1, u2} R σ _inst_1 q))
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {p : MvPolynomial.{u2, u1} σ R _inst_1} {q : MvPolynomial.{u2, u1} σ R _inst_1} [_inst_3 : DecidableEq.{succ u2} σ], HasSubset.Subset.{u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasSubset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (MvPolynomial.support.{u1, u2} R σ _inst_1 (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHAdd.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasAdd.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) p q)) (Union.union.{u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasUnion.{u2} (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 : σ) => _inst_3 a b) (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) a b)) (MvPolynomial.support.{u1, u2} R σ _inst_1 p) (MvPolynomial.support.{u1, u2} R σ _inst_1 q))
but is expected to have type
forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {p : MvPolynomial.{u1, u2} σ R _inst_1} {q : MvPolynomial.{u1, u2} σ R _inst_1}, HasSubset.Subset.{u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instHasSubsetFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.support.{u2, u1} R σ _inst_1 (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHAdd.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (Distrib.toAdd.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))))) p q)) (Union.union.{u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instUnionFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (fun (a : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (b : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => 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)) (MvPolynomial.support.{u2, u1} R σ _inst_1 p) (MvPolynomial.support.{u2, u1} R σ _inst_1 q))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.support_add MvPolynomial.support_addₓ'. -/
-theorem support_add : (p + q).support ⊆ p.support ∪ q.support :=
+theorem support_add [DecidableEq σ] : (p + q).support ⊆ p.support ∪ q.support :=
Finsupp.support_add
#align mv_polynomial.support_add MvPolynomial.support_add
@@ -906,7 +906,7 @@ but is expected to have type
forall {R : Type.{u2}} {σ : Type.{u1}} {n : σ} [_inst_1 : CommSemiring.{u2} R] [_inst_3 : Nontrivial.{u2} R], Eq.{succ u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.support.{u2, u1} R σ _inst_1 (MvPolynomial.X.{u2, u1} R σ _inst_1 n)) (Singleton.singleton.{u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instSingletonFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finsupp.single.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.support_X MvPolynomial.support_Xₓ'. -/
theorem support_X [Nontrivial R] : (X n : MvPolynomial σ R).support = {single n 1} := by
- rw [X, support_monomial, if_neg] <;> exact one_ne_zero
+ classical rw [X, support_monomial, if_neg] <;> exact one_ne_zero
#align mv_polynomial.support_X MvPolynomial.support_X
/- warning: mv_polynomial.support_X_pow -> MvPolynomial.support_X_pow is a dubious translation:
@@ -917,7 +917,7 @@ but is expected to have type
Case conversion may be inaccurate. Consider using '#align mv_polynomial.support_X_pow MvPolynomial.support_X_powₓ'. -/
theorem support_X_pow [Nontrivial R] (s : σ) (n : ℕ) :
(X s ^ n : MvPolynomial σ R).support = {Finsupp.single s n} := by
- rw [X_pow_eq_monomial, support_monomial, if_neg (one_ne_zero' R)]
+ classical rw [X_pow_eq_monomial, support_monomial, if_neg (one_ne_zero' R)]
#align mv_polynomial.support_X_pow MvPolynomial.support_X_pow
/- warning: mv_polynomial.support_zero -> MvPolynomial.support_zero is a dubious translation:
@@ -944,11 +944,11 @@ theorem support_smul {S₁ : Type _} [SMulZeroClass S₁ R] {a : S₁} {f : MvPo
/- warning: mv_polynomial.support_sum -> MvPolynomial.support_sum is a dubious translation:
lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {α : Type.{u3}} {s : Finset.{u3} α} {f : α -> (MvPolynomial.{u2, u1} σ R _inst_1)}, HasSubset.Subset.{u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasSubset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (MvPolynomial.support.{u1, u2} R σ _inst_1 (Finset.sum.{max u2 u1, u3} (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))))) s (fun (x : α) => f x))) (Finset.biUnion.{u3, u2} α (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) s (fun (x : α) => MvPolynomial.support.{u1, u2} R σ _inst_1 (f x)))
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {α : Type.{u3}} [_inst_3 : DecidableEq.{succ u2} σ] {s : Finset.{u3} α} {f : α -> (MvPolynomial.{u2, u1} σ R _inst_1)}, HasSubset.Subset.{u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasSubset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (MvPolynomial.support.{u1, u2} R σ _inst_1 (Finset.sum.{max u2 u1, u3} (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))))) s (fun (x : α) => f x))) (Finset.biUnion.{u3, u2} α (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 : σ) => _inst_3 a b) (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) a b) s (fun (x : α) => MvPolynomial.support.{u1, u2} R σ _inst_1 (f x)))
but is expected to have type
- forall {R : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] {α : Type.{u2}} {s : Finset.{u2} α} {f : α -> (MvPolynomial.{u1, u3} σ R _inst_1)}, HasSubset.Subset.{u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instHasSubsetFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.support.{u3, u1} R σ _inst_1 (Finset.sum.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) α (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) s (fun (x : α) => f x))) (Finset.biUnion.{u2, u1} α (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (fun (a : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (b : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => 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) s (fun (x : α) => MvPolynomial.support.{u3, u1} R σ _inst_1 (f x)))
+ forall {R : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] {α : Type.{u2}} {_inst_3 : Finset.{u2} α} {s : α -> (MvPolynomial.{u1, u3} σ R _inst_1)}, HasSubset.Subset.{u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instHasSubsetFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.support.{u3, u1} R σ _inst_1 (Finset.sum.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) α (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) _inst_3 (fun (x : α) => s x))) (Finset.biUnion.{u2, u1} α (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (fun (a : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (b : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => 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) _inst_3 (fun (x : α) => MvPolynomial.support.{u3, u1} R σ _inst_1 (s x)))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.support_sum MvPolynomial.support_sumₓ'. -/
-theorem support_sum {α : Type _} {s : Finset α} {f : α → MvPolynomial σ R} :
+theorem support_sum {α : Type _} [DecidableEq σ] {s : Finset α} {f : α → MvPolynomial σ R} :
(∑ x in s, f x).support ⊆ s.biUnion fun x => (f x).support :=
Finsupp.support_finset_sum
#align mv_polynomial.support_sum MvPolynomial.support_sum
@@ -997,11 +997,11 @@ theorem sum_def {A} [AddCommMonoid A] {p : MvPolynomial σ R} {b : (σ →₀
/- warning: mv_polynomial.support_mul -> MvPolynomial.support_mul is a dubious translation:
lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (p : MvPolynomial.{u2, u1} σ R _inst_1) (q : MvPolynomial.{u2, u1} σ R _inst_1), HasSubset.Subset.{u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasSubset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (MvPolynomial.support.{u1, u2} R σ _inst_1 (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) p q)) (Finset.biUnion.{u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (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) (MvPolynomial.support.{u1, u2} R σ _inst_1 p) (fun (a : Finsupp.{u2, 0} σ Nat Nat.hasZero) => Finset.biUnion.{u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (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) (MvPolynomial.support.{u1, u2} R σ _inst_1 q) (fun (b : Finsupp.{u2, 0} σ Nat Nat.hasZero) => Singleton.singleton.{u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasSingleton.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (HAdd.hAdd.{u2, u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (instHAdd.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.add.{u2, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) a b))))
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_3 : DecidableEq.{succ u2} σ] (p : MvPolynomial.{u2, u1} σ R _inst_1) (q : MvPolynomial.{u2, u1} σ R _inst_1), HasSubset.Subset.{u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasSubset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (MvPolynomial.support.{u1, u2} R σ _inst_1 (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) p q)) (Finset.biUnion.{u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (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 : σ) => _inst_3 a b) (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) a b) (MvPolynomial.support.{u1, u2} R σ _inst_1 p) (fun (a : Finsupp.{u2, 0} σ Nat Nat.hasZero) => Finset.biUnion.{u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (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 : σ) => _inst_3 a b) (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) a b) (MvPolynomial.support.{u1, u2} R σ _inst_1 q) (fun (b : Finsupp.{u2, 0} σ Nat Nat.hasZero) => Singleton.singleton.{u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasSingleton.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (HAdd.hAdd.{u2, u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (instHAdd.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.add.{u2, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) a b))))
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (p : MvPolynomial.{u1, u2} σ R _inst_1) (q : MvPolynomial.{u1, u2} σ R _inst_1), HasSubset.Subset.{u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instHasSubsetFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.support.{u2, u1} R σ _inst_1 (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) p q)) (Finset.biUnion.{u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (fun (a : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (b : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => 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) (MvPolynomial.support.{u2, u1} R σ _inst_1 p) (fun (a : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Finset.biUnion.{u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (fun (a : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (b : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => 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) (MvPolynomial.support.{u2, u1} R σ _inst_1 q) (fun (b : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Singleton.singleton.{u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instSingletonFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (HAdd.hAdd.{u1, u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHAdd.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.add.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) a b))))
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (_inst_3 : MvPolynomial.{u1, u2} σ R _inst_1) (p : MvPolynomial.{u1, u2} σ R _inst_1), HasSubset.Subset.{u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instHasSubsetFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.support.{u2, u1} R σ _inst_1 (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) _inst_3 p)) (Finset.biUnion.{u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (fun (a : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (b : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => 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) (MvPolynomial.support.{u2, u1} R σ _inst_1 _inst_3) (fun (a : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Finset.biUnion.{u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (fun (a : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (b : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => 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) (MvPolynomial.support.{u2, u1} R σ _inst_1 p) (fun (b : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Singleton.singleton.{u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instSingletonFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (HAdd.hAdd.{u1, u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHAdd.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.add.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) a b))))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.support_mul MvPolynomial.support_mulₓ'. -/
-theorem support_mul (p q : MvPolynomial σ R) :
+theorem support_mul [DecidableEq σ] (p q : MvPolynomial σ R) :
(p * q).support ⊆ p.support.biUnion fun a => q.support.biUnion fun b => {a + b} := by
convert AddMonoidAlgebra.support_mul p q <;> ext <;> convert Iff.rfl
#align mv_polynomial.support_mul MvPolynomial.support_mul
@@ -1194,7 +1194,7 @@ but is expected to have type
Case conversion may be inaccurate. Consider using '#align mv_polynomial.coeff_X MvPolynomial.coeff_Xₓ'. -/
@[simp]
theorem coeff_X (i : σ) : coeff (single i 1) (X i : MvPolynomial σ R) = 1 := by
- rw [coeff_X', if_pos rfl]
+ classical rw [coeff_X', if_pos rfl]
#align mv_polynomial.coeff_X MvPolynomial.coeff_X
/- warning: mv_polynomial.coeff_C_mul -> MvPolynomial.coeff_C_mul is a dubious translation:
@@ -1204,11 +1204,11 @@ but is expected to have type
forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (a : R) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m (HMul.hMul.{max u2 u1, max u2 u1, max u1 u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} 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 (_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) a) p)) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) a (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m p))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.coeff_C_mul MvPolynomial.coeff_C_mulₓ'. -/
@[simp]
-theorem coeff_C_mul (m) (a : R) (p : MvPolynomial σ R) : coeff m (C a * p) = a * coeff m p :=
- by
- rw [mul_def, sum_C]
- · simp (config := { contextual := true }) [sum_def, coeff_sum]
- simp
+theorem coeff_C_mul (m) (a : R) (p : MvPolynomial σ R) : coeff m (C a * p) = a * coeff m p := by
+ classical
+ rw [mul_def, sum_C]
+ · simp (config := { contextual := true }) [sum_def, coeff_sum]
+ simp
#align mv_polynomial.coeff_C_mul MvPolynomial.coeff_C_mul
/- warning: mv_polynomial.coeff_mul -> MvPolynomial.coeff_mul is a dubious translation:
@@ -1343,26 +1343,26 @@ but is expected to have type
forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (r : R) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) p (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) r))) (ite.{succ u2} R (LE.le.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.instLEFinsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) instLENat) s m) (Finsupp.decidableLE.{u1, 0} σ Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) (fun (a : Nat) (b : Nat) => Nat.decLe a b) s m) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 (HSub.hSub.{u1, u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHSub.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.tsub.{u1, 0} σ Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) instSubNat Nat.instOrderedSubNatInstLENatInstAddNatInstSubNat)) m s) p) r) (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_mul_monomial' MvPolynomial.coeff_mul_monomial'ₓ'. -/
theorem coeff_mul_monomial' (m) (s : σ →₀ ℕ) (r : R) (p : MvPolynomial σ R) :
- coeff m (p * monomial s r) = if s ≤ m then coeff (m - s) p * r else 0 :=
- by
- obtain rfl | hr := eq_or_ne r 0
- · simp only [monomial_zero, coeff_zero, MulZeroClass.mul_zero, if_t_t]
- haveI : Nontrivial R := nontrivial_of_ne _ _ hr
- split_ifs with h h
- · conv_rhs => rw [← coeff_mul_monomial _ s]
- congr with t
- rw [tsub_add_cancel_of_le h]
- · rw [← not_mem_support_iff]
- intro hm
- apply h
- have H := support_mul _ _ hm
- simp only [Finset.mem_biUnion] at H
- rcases H with ⟨j, hj, i', hi', H⟩
- rw [support_monomial, if_neg hr, Finset.mem_singleton] at hi'
- subst i'
- rw [Finset.mem_singleton] at H
- subst m
- exact le_add_left le_rfl
+ coeff m (p * monomial s r) = if s ≤ m then coeff (m - s) p * r else 0 := by
+ classical
+ obtain rfl | hr := eq_or_ne r 0
+ · simp only [monomial_zero, coeff_zero, MulZeroClass.mul_zero, if_t_t]
+ haveI : Nontrivial R := nontrivial_of_ne _ _ hr
+ split_ifs with h h
+ · conv_rhs => rw [← coeff_mul_monomial _ s]
+ congr with t
+ rw [tsub_add_cancel_of_le h]
+ · rw [← not_mem_support_iff]
+ intro hm
+ apply h
+ have H := support_mul _ _ hm
+ simp only [Finset.mem_biUnion] at H
+ rcases H with ⟨j, hj, i', hi', H⟩
+ rw [support_monomial, if_neg hr, Finset.mem_singleton] at hi'
+ subst i'
+ rw [Finset.mem_singleton] at H
+ subst m
+ exact le_add_left le_rfl
#align mv_polynomial.coeff_mul_monomial' MvPolynomial.coeff_mul_monomial'
/- warning: mv_polynomial.coeff_monomial_mul' -> MvPolynomial.coeff_monomial_mul' is a dubious translation:
@@ -1671,8 +1671,8 @@ but is expected to have type
forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] {p : MvPolynomial.{u1, u2} σ R _inst_1} {q : MvPolynomial.{u1, u2} σ R _inst_1} (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁), Eq.{succ u3} S₁ (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHAdd.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (Distrib.toAdd.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))))) p q)) (HAdd.hAdd.{u3, u3, u3} S₁ S₁ S₁ (instHAdd.{u3} S₁ (Distrib.toAdd.{u3} S₁ (NonUnitalNonAssocSemiring.toDistrib.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g p) (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g q))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_add MvPolynomial.eval₂_addₓ'. -/
@[simp]
-theorem eval₂_add : (p + q).eval₂ f g = p.eval₂ f g + q.eval₂ f g :=
- Finsupp.sum_add_index (by simp [f.map_zero]) (by simp [add_mul, f.map_add])
+theorem eval₂_add : (p + q).eval₂ f g = p.eval₂ f g + q.eval₂ f g := by
+ classical exact Finsupp.sum_add_index (by simp [f.map_zero]) (by simp [add_mul, f.map_add])
#align mv_polynomial.eval₂_add MvPolynomial.eval₂_add
/- warning: mv_polynomial.eval₂_monomial -> MvPolynomial.eval₂_monomial is a dubious translation:
@@ -1726,22 +1726,22 @@ but is expected to have type
forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] {p : MvPolynomial.{u1, u2} σ R _inst_1} (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁) {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} {a : R}, Eq.{succ u3} S₁ (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) p (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a))) (HMul.hMul.{u3, u3, u3} S₁ S₁ S₁ (instHMul.{u3} S₁ (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))))) (HMul.hMul.{u3, u3, u3} S₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) S₁ (instHMul.{u3} S₁ (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))))) (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g p) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f a)) (Finsupp.prod.{u1, 0, u3} σ Nat S₁ (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (CommSemiring.toCommMonoid.{u3} S₁ _inst_2) s (fun (n : σ) (e : Nat) => HPow.hPow.{u3, 0, u3} S₁ Nat S₁ (instHPow.{u3, 0} S₁ Nat (Monoid.Pow.{u3} S₁ (MonoidWithZero.toMonoid.{u3} S₁ (Semiring.toMonoidWithZero.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))))) (g n) e)))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_mul_monomial MvPolynomial.eval₂_mul_monomialₓ'. -/
theorem eval₂_mul_monomial :
- ∀ {s a}, (p * monomial s a).eval₂ f g = p.eval₂ f g * f a * s.Prod fun n e => g n ^ e :=
- by
- apply MvPolynomial.induction_on p
- · intro a' s a
- simp [C_mul_monomial, eval₂_monomial, f.map_mul]
- · intro p q ih_p ih_q
- simp [add_mul, eval₂_add, ih_p, ih_q]
- · intro p n ih s a
- exact
- calc
- (p * X n * monomial s a).eval₂ f g = (p * monomial (single n 1 + s) a).eval₂ f g := by
- rw [monomial_single_add, pow_one, mul_assoc]
- _ = (p * monomial (single n 1) 1).eval₂ f g * f a * s.prod fun n e => g n ^ e := by
- simp [ih, prod_single_index, prod_add_index, pow_one, pow_add, mul_assoc, mul_left_comm,
- f.map_one, -add_comm]
-
+ ∀ {s a}, (p * monomial s a).eval₂ f g = p.eval₂ f g * f a * s.Prod fun n e => g n ^ e := by
+ classical
+ apply MvPolynomial.induction_on p
+ · intro a' s a
+ simp [C_mul_monomial, eval₂_monomial, f.map_mul]
+ · intro p q ih_p ih_q
+ simp [add_mul, eval₂_add, ih_p, ih_q]
+ · intro p n ih s a
+ exact
+ calc
+ (p * X n * monomial s a).eval₂ f g = (p * monomial (single n 1 + s) a).eval₂ f g := by
+ rw [monomial_single_add, pow_one, mul_assoc]
+ _ = (p * monomial (single n 1) 1).eval₂ f g * f a * s.prod fun n e => g n ^ e := by
+ simp [ih, prod_single_index, prod_add_index, pow_one, pow_add, mul_assoc, mul_left_comm,
+ f.map_one, -add_comm]
+
#align mv_polynomial.eval₂_mul_monomial MvPolynomial.eval₂_mul_monomial
/- warning: mv_polynomial.eval₂_mul_C -> MvPolynomial.eval₂_mul_C is a dubious translation:
@@ -2246,24 +2246,24 @@ lean 3 declaration is
but is expected to have type
forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (p : MvPolynomial.{u1, u2} σ R _inst_1) (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)), Eq.{succ u3} S₁ (MvPolynomial.coeff.{u3, u1} S₁ σ _inst_2 m (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, 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) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f) p)) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m p))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.coeff_map MvPolynomial.coeff_mapₓ'. -/
-theorem coeff_map (p : MvPolynomial σ R) : ∀ m : σ →₀ ℕ, coeff m (map f p) = f (coeff m p) :=
- by
- apply MvPolynomial.induction_on p <;> clear p
- · intro r m
- rw [map_C]
- simp only [coeff_C]
- split_ifs
- · rfl
- rw [f.map_zero]
- · intro p q hp hq m
- simp only [hp, hq, (map f).map_add, coeff_add]
- rw [f.map_add]
- · intro p i hp m
- simp only [hp, (map f).map_mul, map_X]
- simp only [hp, mem_support_iff, coeff_mul_X']
- split_ifs
- · rfl
- rw [f.map_zero]
+theorem coeff_map (p : MvPolynomial σ R) : ∀ m : σ →₀ ℕ, coeff m (map f p) = f (coeff m p) := by
+ classical
+ apply MvPolynomial.induction_on p <;> clear p
+ · intro r m
+ rw [map_C]
+ simp only [coeff_C]
+ split_ifs
+ · rfl
+ rw [f.map_zero]
+ · intro p q hp hq m
+ simp only [hp, hq, (map f).map_add, coeff_add]
+ rw [f.map_add]
+ · intro p i hp m
+ simp only [hp, (map f).map_mul, map_X]
+ simp only [hp, mem_support_iff, coeff_mul_X']
+ split_ifs
+ · rfl
+ rw [f.map_zero]
#align mv_polynomial.coeff_map MvPolynomial.coeff_map
/- warning: mv_polynomial.map_injective -> MvPolynomial.map_injective is a dubious translation:
mathlib commit https://github.com/leanprover-community/mathlib/commit/e3fb84046afd187b710170887195d50bada934ee
@@ -944,12 +944,12 @@ theorem support_smul {S₁ : Type _} [SMulZeroClass S₁ R] {a : S₁} {f : MvPo
/- warning: mv_polynomial.support_sum -> MvPolynomial.support_sum is a dubious translation:
lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {α : Type.{u3}} {s : Finset.{u3} α} {f : α -> (MvPolynomial.{u2, u1} σ R _inst_1)}, HasSubset.Subset.{u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasSubset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (MvPolynomial.support.{u1, u2} R σ _inst_1 (Finset.sum.{max u2 u1, u3} (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))))) s (fun (x : α) => f x))) (Finset.bunionᵢ.{u3, u2} α (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) s (fun (x : α) => MvPolynomial.support.{u1, u2} R σ _inst_1 (f x)))
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {α : Type.{u3}} {s : Finset.{u3} α} {f : α -> (MvPolynomial.{u2, u1} σ R _inst_1)}, HasSubset.Subset.{u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasSubset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (MvPolynomial.support.{u1, u2} R σ _inst_1 (Finset.sum.{max u2 u1, u3} (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))))) s (fun (x : α) => f x))) (Finset.biUnion.{u3, u2} α (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) s (fun (x : α) => MvPolynomial.support.{u1, u2} R σ _inst_1 (f x)))
but is expected to have type
- forall {R : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] {α : Type.{u2}} {s : Finset.{u2} α} {f : α -> (MvPolynomial.{u1, u3} σ R _inst_1)}, HasSubset.Subset.{u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instHasSubsetFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.support.{u3, u1} R σ _inst_1 (Finset.sum.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) α (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) s (fun (x : α) => f x))) (Finset.bunionᵢ.{u2, u1} α (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (fun (a : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (b : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => 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) s (fun (x : α) => MvPolynomial.support.{u3, u1} R σ _inst_1 (f x)))
+ forall {R : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] {α : Type.{u2}} {s : Finset.{u2} α} {f : α -> (MvPolynomial.{u1, u3} σ R _inst_1)}, HasSubset.Subset.{u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instHasSubsetFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.support.{u3, u1} R σ _inst_1 (Finset.sum.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) α (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) s (fun (x : α) => f x))) (Finset.biUnion.{u2, u1} α (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (fun (a : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (b : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => 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) s (fun (x : α) => MvPolynomial.support.{u3, u1} R σ _inst_1 (f x)))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.support_sum MvPolynomial.support_sumₓ'. -/
theorem support_sum {α : Type _} {s : Finset α} {f : α → MvPolynomial σ R} :
- (∑ x in s, f x).support ⊆ s.bunionᵢ fun x => (f x).support :=
+ (∑ x in s, f x).support ⊆ s.biUnion fun x => (f x).support :=
Finsupp.support_finset_sum
#align mv_polynomial.support_sum MvPolynomial.support_sum
@@ -997,12 +997,12 @@ theorem sum_def {A} [AddCommMonoid A] {p : MvPolynomial σ R} {b : (σ →₀
/- warning: mv_polynomial.support_mul -> MvPolynomial.support_mul is a dubious translation:
lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (p : MvPolynomial.{u2, u1} σ R _inst_1) (q : MvPolynomial.{u2, u1} σ R _inst_1), HasSubset.Subset.{u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasSubset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (MvPolynomial.support.{u1, u2} R σ _inst_1 (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) p q)) (Finset.bunionᵢ.{u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (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) (MvPolynomial.support.{u1, u2} R σ _inst_1 p) (fun (a : Finsupp.{u2, 0} σ Nat Nat.hasZero) => Finset.bunionᵢ.{u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (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) (MvPolynomial.support.{u1, u2} R σ _inst_1 q) (fun (b : Finsupp.{u2, 0} σ Nat Nat.hasZero) => Singleton.singleton.{u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasSingleton.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (HAdd.hAdd.{u2, u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (instHAdd.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.add.{u2, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) a b))))
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (p : MvPolynomial.{u2, u1} σ R _inst_1) (q : MvPolynomial.{u2, u1} σ R _inst_1), HasSubset.Subset.{u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasSubset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (MvPolynomial.support.{u1, u2} R σ _inst_1 (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) p q)) (Finset.biUnion.{u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (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) (MvPolynomial.support.{u1, u2} R σ _inst_1 p) (fun (a : Finsupp.{u2, 0} σ Nat Nat.hasZero) => Finset.biUnion.{u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (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) (MvPolynomial.support.{u1, u2} R σ _inst_1 q) (fun (b : Finsupp.{u2, 0} σ Nat Nat.hasZero) => Singleton.singleton.{u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasSingleton.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (HAdd.hAdd.{u2, u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (instHAdd.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.add.{u2, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) a b))))
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (p : MvPolynomial.{u1, u2} σ R _inst_1) (q : MvPolynomial.{u1, u2} σ R _inst_1), HasSubset.Subset.{u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instHasSubsetFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.support.{u2, u1} R σ _inst_1 (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) p q)) (Finset.bunionᵢ.{u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (fun (a : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (b : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => 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) (MvPolynomial.support.{u2, u1} R σ _inst_1 p) (fun (a : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Finset.bunionᵢ.{u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (fun (a : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (b : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => 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) (MvPolynomial.support.{u2, u1} R σ _inst_1 q) (fun (b : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Singleton.singleton.{u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instSingletonFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (HAdd.hAdd.{u1, u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHAdd.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.add.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) a b))))
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (p : MvPolynomial.{u1, u2} σ R _inst_1) (q : MvPolynomial.{u1, u2} σ R _inst_1), HasSubset.Subset.{u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instHasSubsetFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.support.{u2, u1} R σ _inst_1 (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) p q)) (Finset.biUnion.{u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (fun (a : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (b : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => 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) (MvPolynomial.support.{u2, u1} R σ _inst_1 p) (fun (a : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Finset.biUnion.{u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (fun (a : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (b : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => 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) (MvPolynomial.support.{u2, u1} R σ _inst_1 q) (fun (b : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Singleton.singleton.{u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instSingletonFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (HAdd.hAdd.{u1, u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHAdd.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.add.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) a b))))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.support_mul MvPolynomial.support_mulₓ'. -/
theorem support_mul (p q : MvPolynomial σ R) :
- (p * q).support ⊆ p.support.bunionᵢ fun a => q.support.bunionᵢ fun b => {a + b} := by
+ (p * q).support ⊆ p.support.biUnion fun a => q.support.biUnion fun b => {a + b} := by
convert AddMonoidAlgebra.support_mul p q <;> ext <;> convert Iff.rfl
#align mv_polynomial.support_mul MvPolynomial.support_mul
@@ -1356,7 +1356,7 @@ theorem coeff_mul_monomial' (m) (s : σ →₀ ℕ) (r : R) (p : MvPolynomial σ
intro hm
apply h
have H := support_mul _ _ hm
- simp only [Finset.mem_bunionᵢ] at H
+ simp only [Finset.mem_biUnion] at H
rcases H with ⟨j, hj, i', hi', H⟩
rw [support_monomial, if_neg hr, Finset.mem_singleton] at hi'
subst i'
mathlib commit https://github.com/leanprover-community/mathlib/commit/4c8f86bdbe06f92960d0eb314da8ca64a9d33bca
@@ -2948,6 +2948,12 @@ section EvalMem
variable {S subS : Type _} [CommSemiring S] [SetLike subS S] [SubsemiringClass subS S]
+/- warning: mv_polynomial.eval₂_mem -> MvPolynomial.eval₂_mem is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {S : Type.{u3}} {subS : Type.{u4}} [_inst_3 : CommSemiring.{u3} S] [_inst_4 : SetLike.{u4, u3} subS S] [_inst_5 : SubsemiringClass.{u3, u4} subS S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3)) _inst_4] {f : RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3))} {p : MvPolynomial.{u2, u1} σ R _inst_1} {s : subS}, (forall (i : Finsupp.{u2, 0} σ Nat Nat.hasZero), (Membership.Mem.{u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasMem.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) i (MvPolynomial.support.{u1, u2} R σ _inst_1 p)) -> (Membership.Mem.{u3, u4} S subS (SetLike.hasMem.{u4, u3} subS S _inst_4) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3))) (fun (_x : RingHom.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3))) => R -> S) (RingHom.hasCoeToFun.{u1, u3} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3))) f (MvPolynomial.coeff.{u1, u2} R σ _inst_1 i p)) s)) -> (forall {v : σ -> S}, (forall (i : σ), Membership.Mem.{u3, u4} S subS (SetLike.hasMem.{u4, u3} subS S _inst_4) (v i) s) -> (Membership.Mem.{u3, u4} S subS (SetLike.hasMem.{u4, u3} subS S _inst_4) (MvPolynomial.eval₂.{u1, u3, u2} R S σ _inst_1 _inst_3 f v p) s))
+but is expected to have type
+ forall {R : Type.{u4}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u4} R] {S : Type.{u3}} {subS : Type.{u1}} [_inst_3 : CommSemiring.{u3} S] [_inst_4 : SetLike.{u1, u3} subS S] [_inst_5 : SubsemiringClass.{u3, u1} subS S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3)) _inst_4] {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_3))} {p : MvPolynomial.{u2, u4} σ R _inst_1} {s : subS}, (forall (i : Finsupp.{u2, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)), (Membership.mem.{u2, u2} (Finsupp.{u2, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finset.{u2} (Finsupp.{u2, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instMembershipFinset.{u2} (Finsupp.{u2, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) i (MvPolynomial.support.{u4, u2} R σ _inst_1 p)) -> (Membership.mem.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) (MvPolynomial.coeff.{u4, u2} R σ _inst_1 i p)) subS (SetLike.instMembership.{u1, u3} subS S _inst_4) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3))) R S (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3))) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3))) R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3)) (RingHom.instRingHomClassRingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3)))))) f (MvPolynomial.coeff.{u4, u2} R σ _inst_1 i p)) s)) -> (forall {v : σ -> S}, (forall (i : σ), Membership.mem.{u3, u1} S subS (SetLike.instMembership.{u1, u3} subS S _inst_4) (v i) s) -> (Membership.mem.{u3, u1} S subS (SetLike.instMembership.{u1, u3} subS S _inst_4) (MvPolynomial.eval₂.{u4, u3, u2} R S σ _inst_1 _inst_3 f v p) s))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_mem MvPolynomial.eval₂_memₓ'. -/
theorem eval₂_mem {f : R →+* S} {p : MvPolynomial σ R} {s : subS}
(hs : ∀ i ∈ p.support, f (p.coeff i) ∈ s) {v : σ → S} (hv : ∀ i, v i ∈ s) :
MvPolynomial.eval₂ f v p ∈ s := by
@@ -2974,6 +2980,12 @@ theorem eval₂_mem {f : R →+* S} {p : MvPolynomial σ R} {s : subS}
· rwa [zero_add] at this
#align mv_polynomial.eval₂_mem MvPolynomial.eval₂_mem
+/- warning: mv_polynomial.eval_mem -> MvPolynomial.eval_mem is a dubious translation:
+lean 3 declaration is
+ forall {σ : Type.{u1}} {S : Type.{u2}} {subS : Type.{u3}} [_inst_3 : CommSemiring.{u2} S] [_inst_4 : SetLike.{u3, u2} subS S] [_inst_5 : SubsemiringClass.{u2, u3} subS S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) _inst_4] {p : MvPolynomial.{u1, u2} σ S _inst_3} {s : subS}, (forall (i : Finsupp.{u1, 0} σ Nat Nat.hasZero), (Membership.Mem.{u1, u1} (Finsupp.{u1, 0} σ Nat Nat.hasZero) (Finset.{u1} (Finsupp.{u1, 0} σ Nat Nat.hasZero)) (Finset.hasMem.{u1} (Finsupp.{u1, 0} σ Nat Nat.hasZero)) i (MvPolynomial.support.{u2, u1} S σ _inst_3 p)) -> (Membership.Mem.{u2, u3} S subS (SetLike.hasMem.{u3, u2} subS S _inst_4) (MvPolynomial.coeff.{u2, u1} S σ _inst_3 i p) s)) -> (forall {v : σ -> S}, (forall (i : σ), Membership.Mem.{u2, u3} S subS (SetLike.hasMem.{u3, u2} subS S _inst_4) (v i) s) -> (Membership.Mem.{u2, u3} S subS (SetLike.hasMem.{u3, u2} subS S _inst_4) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ (max u1 u2)) (succ u2)} (RingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ S _inst_3) S (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ S _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ S _inst_3) (MvPolynomial.commSemiring.{u2, u1} S σ _inst_3))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (fun (_x : RingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ S _inst_3) S (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ S _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ S _inst_3) (MvPolynomial.commSemiring.{u2, u1} S σ _inst_3))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) => (MvPolynomial.{u1, u2} σ S _inst_3) -> S) (RingHom.hasCoeToFun.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ S _inst_3) S (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ S _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ S _inst_3) (MvPolynomial.commSemiring.{u2, u1} S σ _inst_3))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (MvPolynomial.eval.{u2, u1} S σ _inst_3 v) p) s))
+but is expected to have type
+ forall {σ : Type.{u3}} {S : Type.{u2}} {subS : Type.{u1}} [_inst_3 : CommSemiring.{u2} S] [_inst_4 : SetLike.{u1, u2} subS S] [_inst_5 : SubsemiringClass.{u2, u1} subS S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) _inst_4] {p : MvPolynomial.{u3, u2} σ S _inst_3} {s : subS}, (forall (i : Finsupp.{u3, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)), (Membership.mem.{u3, u3} (Finsupp.{u3, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finset.{u3} (Finsupp.{u3, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instMembershipFinset.{u3} (Finsupp.{u3, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) i (MvPolynomial.support.{u2, u3} S σ _inst_3 p)) -> (Membership.mem.{u2, u1} S subS (SetLike.instMembership.{u1, u2} subS S _inst_4) (MvPolynomial.coeff.{u2, u3} S σ _inst_3 i p) s)) -> (forall {v : σ -> S}, (forall (i : σ), Membership.mem.{u2, u1} S subS (SetLike.instMembership.{u1, u2} subS S _inst_4) (v i) s) -> (Membership.mem.{u2, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u3, u2} σ S _inst_3) => S) p) subS (SetLike.instMembership.{u1, u2} subS S _inst_4) (FunLike.coe.{max (succ u3) (succ u2), max (succ u3) (succ u2), succ u2} (RingHom.{max u2 u3, u2} (MvPolynomial.{u3, u2} σ S _inst_3) S (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ S _inst_3) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ S _inst_3) (MvPolynomial.commSemiring.{u2, u3} S σ _inst_3))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (MvPolynomial.{u3, u2} σ S _inst_3) (fun (_x : MvPolynomial.{u3, u2} σ S _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u3, u2} σ S _inst_3) => S) _x) (MulHomClass.toFunLike.{max u3 u2, max u3 u2, u2} (RingHom.{max u2 u3, u2} (MvPolynomial.{u3, u2} σ S _inst_3) S (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ S _inst_3) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ S _inst_3) (MvPolynomial.commSemiring.{u2, u3} S σ _inst_3))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (MvPolynomial.{u3, u2} σ S _inst_3) S (NonUnitalNonAssocSemiring.toMul.{max u3 u2} (MvPolynomial.{u3, u2} σ S _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S _inst_3) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ S _inst_3) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ S _inst_3) (MvPolynomial.commSemiring.{u2, u3} S σ _inst_3))))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, max u3 u2, u2} (RingHom.{max u2 u3, u2} (MvPolynomial.{u3, u2} σ S _inst_3) S (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ S _inst_3) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ S _inst_3) (MvPolynomial.commSemiring.{u2, u3} S σ _inst_3))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (MvPolynomial.{u3, u2} σ S _inst_3) S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S _inst_3) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ S _inst_3) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ S _inst_3) (MvPolynomial.commSemiring.{u2, u3} S σ _inst_3)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, max u3 u2, u2} (RingHom.{max u2 u3, u2} (MvPolynomial.{u3, u2} σ S _inst_3) S (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ S _inst_3) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ S _inst_3) (MvPolynomial.commSemiring.{u2, u3} S σ _inst_3))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (MvPolynomial.{u3, u2} σ S _inst_3) S (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ S _inst_3) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ S _inst_3) (MvPolynomial.commSemiring.{u2, u3} S σ _inst_3))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (RingHom.instRingHomClassRingHom.{max u3 u2, u2} (MvPolynomial.{u3, u2} σ S _inst_3) S (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ S _inst_3) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ S _inst_3) (MvPolynomial.commSemiring.{u2, u3} S σ _inst_3))) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)))))) (MvPolynomial.eval.{u2, u3} S σ _inst_3 v) p) s))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval_mem MvPolynomial.eval_memₓ'. -/
theorem eval_mem {p : MvPolynomial σ S} {s : subS} (hs : ∀ i ∈ p.support, p.coeff i ∈ s) {v : σ → S}
(hv : ∀ i, v i ∈ s) : MvPolynomial.eval v p ∈ s :=
eval₂_mem hs hv
mathlib commit https://github.com/leanprover-community/mathlib/commit/3905fa80e62c0898131285baab35559fbc4e5cda
@@ -410,6 +410,12 @@ Case conversion may be inaccurate. Consider using '#align mv_polynomial.C_eq_smu
theorem C_eq_smul_one : (C a : MvPolynomial σ R) = a • 1 := by rw [← C_mul', mul_one]
#align mv_polynomial.C_eq_smul_one MvPolynomial.C_eq_smul_one
+/- warning: mv_polynomial.smul_monomial -> MvPolynomial.smul_monomial is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} {a : R} {s : Finsupp.{u2, 0} σ Nat Nat.hasZero} [_inst_1 : CommSemiring.{u1} R] {S₁ : Type.{u3}} [_inst_3 : SMulZeroClass.{u3, u1} S₁ R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))] (r : S₁), Eq.{succ (max u2 u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (SMul.smul.{u3, max u2 u1} S₁ (MvPolynomial.{u2, u1} σ R _inst_1) (SMulZeroClass.toHasSmul.{u3, max u2 u1} S₁ (MvPolynomial.{u2, u1} σ R _inst_1) (MulZeroClass.toHasZero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toMulZeroClass.{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)))))) (MvPolynomial.smulZeroClass.{u3, u1, u2} S₁ R σ _inst_1 _inst_3)) r (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) a)) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) (SMul.smul.{u3, u1} S₁ R (SMulZeroClass.toHasSmul.{u3, u1} S₁ R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) _inst_3) r a))
+but is expected to have type
+ forall {R : Type.{u3}} {σ : Type.{u1}} {a : R} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u3} R] {S₁ : Type.{u2}} [_inst_3 : SMulZeroClass.{u2, u3} S₁ R (CommMonoidWithZero.toZero.{u3} R (CommSemiring.toCommMonoidWithZero.{u3} R _inst_1))] (r : S₁), Eq.{max (succ u3) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (HSMul.hSMul.{u2, max u3 u1, max u3 u1} S₁ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (instHSMul.{u2, max u3 u1} S₁ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (SMulZeroClass.toSMul.{u2, max u3 u1} S₁ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (CommMonoidWithZero.toZero.{max u3 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (CommSemiring.toCommMonoidWithZero.{max u3 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (MvPolynomial.smulZeroClass.{u2, u3, u1} S₁ R σ _inst_1 _inst_3))) r (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearMap.{u3, u3, u3, max u3 u1} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) 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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u3} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 s) a)) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearMap.{u3, u3, u3, max u3 u1} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) 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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u3} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 s) (HSMul.hSMul.{u2, u3, u3} S₁ R R (instHSMul.{u2, u3} S₁ R (SMulZeroClass.toSMul.{u2, u3} S₁ R (CommMonoidWithZero.toZero.{u3} R (CommSemiring.toCommMonoidWithZero.{u3} R _inst_1)) _inst_3)) r a))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.smul_monomial MvPolynomial.smul_monomialₓ'. -/
theorem smul_monomial {S₁ : Type _} [SMulZeroClass S₁ R] (r : S₁) :
r • monomial s a = monomial s (r • a) :=
Finsupp.smul_single _ _ _
@@ -779,7 +785,7 @@ theorem is_id (f : MvPolynomial σ R →+* MvPolynomial σ R) (hC : f.comp C = C
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {A : Type.{u3}} {B : Type.{u4}} [_inst_3 : CommSemiring.{u3} A] [_inst_4 : CommSemiring.{u4} B] [_inst_5 : Algebra.{u1, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3)] [_inst_6 : Algebra.{u1, u4} R B _inst_1 (CommSemiring.toSemiring.{u4} B _inst_4)] {f : AlgHom.{u1, max u2 u3, u4} R (MvPolynomial.{u2, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) (CommSemiring.toSemiring.{u4} B _inst_4) (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) _inst_6} {g : AlgHom.{u1, max u2 u3, u4} R (MvPolynomial.{u2, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) (CommSemiring.toSemiring.{u4} B _inst_4) (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) _inst_6}, (Eq.{max (succ u3) (succ u4)} (AlgHom.{u1, u3, u4} R A B _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) (CommSemiring.toSemiring.{u4} B _inst_4) _inst_5 _inst_6) (AlgHom.comp.{u1, u3, max u2 u3, u4} R A (MvPolynomial.{u2, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) (CommSemiring.toSemiring.{u4} B _inst_4) _inst_5 (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) _inst_6 f (IsScalarTower.toAlgHom.{u1, u3, max u2 u3} R A (MvPolynomial.{u2, u3} σ A _inst_3) _inst_1 _inst_3 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) _inst_5 (MvPolynomial.algebra.{u3, u3, u2} A A σ _inst_3 _inst_3 (Algebra.id.{u3} A _inst_3)) (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) (MvPolynomial.isScalarTower.{u1, u3, u3, u2} R A A σ _inst_3 (SMulZeroClass.toHasSmul.{u1, u3} R A (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))))))) (SMulWithZero.toSmulZeroClass.{u1, u3} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))))))) (MulActionWithZero.toSMulWithZero.{u1, u3} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))))))) (Module.toMulActionWithZero.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3)))) (Algebra.toModule.{u1, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5))))) (SMulWithZero.toSmulZeroClass.{u1, u3} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (MulZeroClass.toHasZero.{u3} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u3} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toHasZero.{u3} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))))) (Module.toMulActionWithZero.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3)))) (Algebra.toModule.{u1, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5)))) (SMulWithZero.toSmulZeroClass.{u3, u3} A A (MulZeroClass.toHasZero.{u3} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))))) (MulZeroClass.toHasZero.{u3} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))))) (MulZeroClass.toSMulWithZero.{u3} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3)))))) (IsScalarTower.right.{u1, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5)))) (AlgHom.comp.{u1, u3, max u2 u3, u4} R A (MvPolynomial.{u2, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) (CommSemiring.toSemiring.{u4} B _inst_4) _inst_5 (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) _inst_6 g (IsScalarTower.toAlgHom.{u1, u3, max u2 u3} R A (MvPolynomial.{u2, u3} σ A _inst_3) _inst_1 _inst_3 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) _inst_5 (MvPolynomial.algebra.{u3, u3, u2} A A σ _inst_3 _inst_3 (Algebra.id.{u3} A _inst_3)) (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) (MvPolynomial.isScalarTower.{u1, u3, u3, u2} R A A σ _inst_3 (SMulZeroClass.toHasSmul.{u1, u3} R A (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))))))) (SMulWithZero.toSmulZeroClass.{u1, u3} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))))))) (MulActionWithZero.toSMulWithZero.{u1, u3} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))))))) (Module.toMulActionWithZero.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3)))) (Algebra.toModule.{u1, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5))))) (SMulWithZero.toSmulZeroClass.{u1, u3} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (MulZeroClass.toHasZero.{u3} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u3} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toHasZero.{u3} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))))) (Module.toMulActionWithZero.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3)))) (Algebra.toModule.{u1, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5)))) (SMulWithZero.toSmulZeroClass.{u3, u3} A A (MulZeroClass.toHasZero.{u3} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))))) (MulZeroClass.toHasZero.{u3} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))))) (MulZeroClass.toSMulWithZero.{u3} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3)))))) (IsScalarTower.right.{u1, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5))))) -> (forall (i : σ), Eq.{succ u4} B (coeFn.{max (succ (max u2 u3)) (succ u4), max (succ (max u2 u3)) (succ u4)} (AlgHom.{u1, max u2 u3, u4} R (MvPolynomial.{u2, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) (CommSemiring.toSemiring.{u4} B _inst_4) (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) _inst_6) (fun (_x : AlgHom.{u1, max u2 u3, u4} R (MvPolynomial.{u2, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) (CommSemiring.toSemiring.{u4} B _inst_4) (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) _inst_6) => (MvPolynomial.{u2, u3} σ A _inst_3) -> B) ([anonymous].{u1, max u2 u3, u4} R (MvPolynomial.{u2, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) (CommSemiring.toSemiring.{u4} B _inst_4) (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) _inst_6) f (MvPolynomial.X.{u3, u2} A σ _inst_3 i)) (coeFn.{max (succ (max u2 u3)) (succ u4), max (succ (max u2 u3)) (succ u4)} (AlgHom.{u1, max u2 u3, u4} R (MvPolynomial.{u2, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) (CommSemiring.toSemiring.{u4} B _inst_4) (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) _inst_6) (fun (_x : AlgHom.{u1, max u2 u3, u4} R (MvPolynomial.{u2, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) (CommSemiring.toSemiring.{u4} B _inst_4) (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) _inst_6) => (MvPolynomial.{u2, u3} σ A _inst_3) -> B) ([anonymous].{u1, max u2 u3, u4} R (MvPolynomial.{u2, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) (CommSemiring.toSemiring.{u4} B _inst_4) (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) _inst_6) g (MvPolynomial.X.{u3, u2} A σ _inst_3 i))) -> (Eq.{max (succ (max u2 u3)) (succ u4)} (AlgHom.{u1, max u2 u3, u4} R (MvPolynomial.{u2, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) (CommSemiring.toSemiring.{u4} B _inst_4) (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) _inst_6) f g)
but is expected to have type
- forall {R : Type.{u4}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u4} R] {A : Type.{u3}} {B : Type.{u2}} [_inst_3 : CommSemiring.{u3} A] [_inst_4 : CommSemiring.{u2} B] [_inst_5 : Algebra.{u4, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3)] [_inst_6 : Algebra.{u4, u2} R B _inst_1 (CommSemiring.toSemiring.{u2} B _inst_4)] {f : AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6} {g : AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6}, (Eq.{max (succ u3) (succ u2)} (AlgHom.{u4, u3, u2} R A B _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) (CommSemiring.toSemiring.{u2} B _inst_4) _inst_5 _inst_6) (AlgHom.comp.{u4, u3, max u1 u3, u2} R A (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) _inst_5 (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6 f (IsScalarTower.toAlgHom.{u4, u3, max u3 u1} R A (MvPolynomial.{u1, u3} σ A _inst_3) _inst_1 _inst_3 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) _inst_5 (MvPolynomial.algebra.{u3, u3, u1} A A σ _inst_3 _inst_3 (Algebra.id.{u3} A _inst_3)) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) (MvPolynomial.isScalarTower.{u4, u3, u3, u1} R A A σ (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (MonoidWithZero.toMonoid.{u3} A (Semiring.toMonoidWithZero.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))) _inst_3 (Algebra.toSMul.{u4, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5) (Module.toDistribMulAction.{u4, u3} R A (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3)))) (Algebra.toModule.{u4, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5)) (Module.toDistribMulAction.{u3, u3} A A (CommSemiring.toSemiring.{u3} A _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3)))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))) (IsScalarTower.right.{u4, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5)))) (AlgHom.comp.{u4, u3, max u1 u3, u2} R A (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) _inst_5 (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6 g (IsScalarTower.toAlgHom.{u4, u3, max u3 u1} R A (MvPolynomial.{u1, u3} σ A _inst_3) _inst_1 _inst_3 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) _inst_5 (MvPolynomial.algebra.{u3, u3, u1} A A σ _inst_3 _inst_3 (Algebra.id.{u3} A _inst_3)) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) (MvPolynomial.isScalarTower.{u4, u3, u3, u1} R A A σ (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (MonoidWithZero.toMonoid.{u3} A (Semiring.toMonoidWithZero.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))) _inst_3 (Algebra.toSMul.{u4, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5) (Module.toDistribMulAction.{u4, u3} R A (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3)))) (Algebra.toModule.{u4, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5)) (Module.toDistribMulAction.{u3, u3} A A (CommSemiring.toSemiring.{u3} A _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3)))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))) (IsScalarTower.right.{u4, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5))))) -> (forall (i : σ), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u3} σ A _inst_3) => B) (MvPolynomial.X.{u3, u1} A σ _inst_3 i)) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), max (succ u1) (succ u3), succ u2} (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) (MvPolynomial.{u1, u3} σ A _inst_3) (fun (_x : MvPolynomial.{u1, u3} σ A _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u3} σ A _inst_3) => B) _x) (SMulHomClass.toFunLike.{max (max u1 u3) u2, u4, max u1 u3, u2} (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) R (MvPolynomial.{u1, u3} σ A _inst_3) B (SMulZeroClass.toSMul.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (AddMonoid.toZero.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3))))))) (DistribSMul.toSMulZeroClass.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (AddMonoid.toAddZeroClass.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3))))))) (DistribMulAction.toDistribSMul.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)))))) (Module.toDistribMulAction.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3))))) (Algebra.toModule.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5)))))) (SMulZeroClass.toSMul.{u4, u2} R B (AddMonoid.toZero.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4)))))) (DistribSMul.toSMulZeroClass.{u4, u2} R B (AddMonoid.toAddZeroClass.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4)))))) (DistribMulAction.toDistribSMul.{u4, u2} R B (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4))))) (Module.toDistribMulAction.{u4, u2} R B (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4)))) (Algebra.toModule.{u4, u2} R B _inst_1 (CommSemiring.toSemiring.{u2} B _inst_4) _inst_6))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u3) u2, u4, max u1 u3, u2} (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) R (MvPolynomial.{u1, u3} σ A _inst_3) B (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)))))) (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4))))) (Module.toDistribMulAction.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3))))) (Algebra.toModule.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5))) (Module.toDistribMulAction.{u4, u2} R B (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4)))) (Algebra.toModule.{u4, u2} R B _inst_1 (CommSemiring.toSemiring.{u2} B _inst_4) _inst_6)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u1 u3) u2, u4, max u1 u3, u2} (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) R (MvPolynomial.{u1, u3} σ A _inst_3) B (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4))) (Module.toDistribMulAction.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3))))) (Algebra.toModule.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5))) (Module.toDistribMulAction.{u4, u2} R B (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4)))) (Algebra.toModule.{u4, u2} R B _inst_1 (CommSemiring.toSemiring.{u2} B _inst_4) _inst_6)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u4, max u1 u3, u2, max (max u1 u3) u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6 (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) (AlgHom.algHomClass.{u4, max u1 u3, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6))))) f (MvPolynomial.X.{u3, u1} A σ _inst_3 i)) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), max (succ u1) (succ u3), succ u2} (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) (MvPolynomial.{u1, u3} σ A _inst_3) (fun (_x : MvPolynomial.{u1, u3} σ A _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u3} σ A _inst_3) => B) _x) (SMulHomClass.toFunLike.{max (max u1 u3) u2, u4, max u1 u3, u2} (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) R (MvPolynomial.{u1, u3} σ A _inst_3) B (SMulZeroClass.toSMul.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (AddMonoid.toZero.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3))))))) (DistribSMul.toSMulZeroClass.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (AddMonoid.toAddZeroClass.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3))))))) (DistribMulAction.toDistribSMul.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)))))) (Module.toDistribMulAction.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3))))) (Algebra.toModule.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5)))))) (SMulZeroClass.toSMul.{u4, u2} R B (AddMonoid.toZero.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4)))))) (DistribSMul.toSMulZeroClass.{u4, u2} R B (AddMonoid.toAddZeroClass.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4)))))) (DistribMulAction.toDistribSMul.{u4, u2} R B (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4))))) (Module.toDistribMulAction.{u4, u2} R B (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4)))) (Algebra.toModule.{u4, u2} R B _inst_1 (CommSemiring.toSemiring.{u2} B _inst_4) _inst_6))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u3) u2, u4, max u1 u3, u2} (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) R (MvPolynomial.{u1, u3} σ A _inst_3) B (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)))))) (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4))))) (Module.toDistribMulAction.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3))))) (Algebra.toModule.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5))) (Module.toDistribMulAction.{u4, u2} R B (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4)))) (Algebra.toModule.{u4, u2} R B _inst_1 (CommSemiring.toSemiring.{u2} B _inst_4) _inst_6)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u1 u3) u2, u4, max u1 u3, u2} (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) R (MvPolynomial.{u1, u3} σ A _inst_3) B (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4))) (Module.toDistribMulAction.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3))))) (Algebra.toModule.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5))) (Module.toDistribMulAction.{u4, u2} R B (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4)))) (Algebra.toModule.{u4, u2} R B _inst_1 (CommSemiring.toSemiring.{u2} B _inst_4) _inst_6)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u4, max u1 u3, u2, max (max u1 u3) u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6 (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) (AlgHom.algHomClass.{u4, max u1 u3, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6))))) g (MvPolynomial.X.{u3, u1} A σ _inst_3 i))) -> (Eq.{max (max (succ u1) (succ u3)) (succ u2)} (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) f g)
+ forall {R : Type.{u4}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u4} R] {A : Type.{u3}} {B : Type.{u2}} [_inst_3 : CommSemiring.{u3} A] [_inst_4 : CommSemiring.{u2} B] [_inst_5 : Algebra.{u4, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3)] [_inst_6 : Algebra.{u4, u2} R B _inst_1 (CommSemiring.toSemiring.{u2} B _inst_4)] {f : AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6} {g : AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6}, (Eq.{max (succ u3) (succ u2)} (AlgHom.{u4, u3, u2} R A B _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) (CommSemiring.toSemiring.{u2} B _inst_4) _inst_5 _inst_6) (AlgHom.comp.{u4, u3, max u1 u3, u2} R A (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) _inst_5 (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6 f (IsScalarTower.toAlgHom.{u4, u3, max u3 u1} R A (MvPolynomial.{u1, u3} σ A _inst_3) _inst_1 _inst_3 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) _inst_5 (MvPolynomial.algebra.{u3, u3, u1} A A σ _inst_3 _inst_3 (Algebra.id.{u3} A _inst_3)) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) (MvPolynomial.isScalarTower.{u4, u3, u3, u1} R A A σ _inst_3 (Algebra.toSMul.{u4, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5) (SMulWithZero.toSMulZeroClass.{u4, u3} R A (CommMonoidWithZero.toZero.{u4} R (CommSemiring.toCommMonoidWithZero.{u4} R _inst_1)) (MonoidWithZero.toZero.{u3} A (Semiring.toMonoidWithZero.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))) (MulActionWithZero.toSMulWithZero.{u4, u3} R A (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (MonoidWithZero.toZero.{u3} A (Semiring.toMonoidWithZero.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))) (Module.toMulActionWithZero.{u4, u3} R A (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3)))) (Algebra.toModule.{u4, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5)))) (SMulWithZero.toSMulZeroClass.{u3, u3} A A (CommMonoidWithZero.toZero.{u3} A (CommSemiring.toCommMonoidWithZero.{u3} A _inst_3)) (MonoidWithZero.toZero.{u3} A (Semiring.toMonoidWithZero.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))) (MulActionWithZero.toSMulWithZero.{u3, u3} A A (Semiring.toMonoidWithZero.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3)) (MonoidWithZero.toZero.{u3} A (Semiring.toMonoidWithZero.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))) (Module.toMulActionWithZero.{u3, u3} A A (CommSemiring.toSemiring.{u3} A _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3)))) (Algebra.toModule.{u3, u3} A A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_3) (Algebra.id.{u3} A _inst_3))))) (IsScalarTower.right.{u4, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5)))) (AlgHom.comp.{u4, u3, max u1 u3, u2} R A (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) _inst_5 (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6 g (IsScalarTower.toAlgHom.{u4, u3, max u3 u1} R A (MvPolynomial.{u1, u3} σ A _inst_3) _inst_1 _inst_3 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) _inst_5 (MvPolynomial.algebra.{u3, u3, u1} A A σ _inst_3 _inst_3 (Algebra.id.{u3} A _inst_3)) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) (MvPolynomial.isScalarTower.{u4, u3, u3, u1} R A A σ _inst_3 (Algebra.toSMul.{u4, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5) (SMulWithZero.toSMulZeroClass.{u4, u3} R A (CommMonoidWithZero.toZero.{u4} R (CommSemiring.toCommMonoidWithZero.{u4} R _inst_1)) (MonoidWithZero.toZero.{u3} A (Semiring.toMonoidWithZero.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))) (MulActionWithZero.toSMulWithZero.{u4, u3} R A (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (MonoidWithZero.toZero.{u3} A (Semiring.toMonoidWithZero.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))) (Module.toMulActionWithZero.{u4, u3} R A (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3)))) (Algebra.toModule.{u4, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5)))) (SMulWithZero.toSMulZeroClass.{u3, u3} A A (CommMonoidWithZero.toZero.{u3} A (CommSemiring.toCommMonoidWithZero.{u3} A _inst_3)) (MonoidWithZero.toZero.{u3} A (Semiring.toMonoidWithZero.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))) (MulActionWithZero.toSMulWithZero.{u3, u3} A A (Semiring.toMonoidWithZero.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3)) (MonoidWithZero.toZero.{u3} A (Semiring.toMonoidWithZero.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))) (Module.toMulActionWithZero.{u3, u3} A A (CommSemiring.toSemiring.{u3} A _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3)))) (Algebra.toModule.{u3, u3} A A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_3) (Algebra.id.{u3} A _inst_3))))) (IsScalarTower.right.{u4, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5))))) -> (forall (i : σ), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u3} σ A _inst_3) => B) (MvPolynomial.X.{u3, u1} A σ _inst_3 i)) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), max (succ u1) (succ u3), succ u2} (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) (MvPolynomial.{u1, u3} σ A _inst_3) (fun (_x : MvPolynomial.{u1, u3} σ A _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u3} σ A _inst_3) => B) _x) (SMulHomClass.toFunLike.{max (max u1 u3) u2, u4, max u1 u3, u2} (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) R (MvPolynomial.{u1, u3} σ A _inst_3) B (SMulZeroClass.toSMul.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (AddMonoid.toZero.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3))))))) (DistribSMul.toSMulZeroClass.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (AddMonoid.toAddZeroClass.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3))))))) (DistribMulAction.toDistribSMul.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)))))) (Module.toDistribMulAction.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3))))) (Algebra.toModule.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5)))))) (SMulZeroClass.toSMul.{u4, u2} R B (AddMonoid.toZero.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4)))))) (DistribSMul.toSMulZeroClass.{u4, u2} R B (AddMonoid.toAddZeroClass.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4)))))) (DistribMulAction.toDistribSMul.{u4, u2} R B (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4))))) (Module.toDistribMulAction.{u4, u2} R B (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4)))) (Algebra.toModule.{u4, u2} R B _inst_1 (CommSemiring.toSemiring.{u2} B _inst_4) _inst_6))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u3) u2, u4, max u1 u3, u2} (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) R (MvPolynomial.{u1, u3} σ A _inst_3) B (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)))))) (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4))))) (Module.toDistribMulAction.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3))))) (Algebra.toModule.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5))) (Module.toDistribMulAction.{u4, u2} R B (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4)))) (Algebra.toModule.{u4, u2} R B _inst_1 (CommSemiring.toSemiring.{u2} B _inst_4) _inst_6)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u1 u3) u2, u4, max u1 u3, u2} (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) R (MvPolynomial.{u1, u3} σ A _inst_3) B (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4))) (Module.toDistribMulAction.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3))))) (Algebra.toModule.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5))) (Module.toDistribMulAction.{u4, u2} R B (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4)))) (Algebra.toModule.{u4, u2} R B _inst_1 (CommSemiring.toSemiring.{u2} B _inst_4) _inst_6)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u4, max u1 u3, u2, max (max u1 u3) u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6 (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) (AlgHom.algHomClass.{u4, max u1 u3, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6))))) f (MvPolynomial.X.{u3, u1} A σ _inst_3 i)) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), max (succ u1) (succ u3), succ u2} (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) (MvPolynomial.{u1, u3} σ A _inst_3) (fun (_x : MvPolynomial.{u1, u3} σ A _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u3} σ A _inst_3) => B) _x) (SMulHomClass.toFunLike.{max (max u1 u3) u2, u4, max u1 u3, u2} (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) R (MvPolynomial.{u1, u3} σ A _inst_3) B (SMulZeroClass.toSMul.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (AddMonoid.toZero.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3))))))) (DistribSMul.toSMulZeroClass.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (AddMonoid.toAddZeroClass.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3))))))) (DistribMulAction.toDistribSMul.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)))))) (Module.toDistribMulAction.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3))))) (Algebra.toModule.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5)))))) (SMulZeroClass.toSMul.{u4, u2} R B (AddMonoid.toZero.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4)))))) (DistribSMul.toSMulZeroClass.{u4, u2} R B (AddMonoid.toAddZeroClass.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4)))))) (DistribMulAction.toDistribSMul.{u4, u2} R B (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4))))) (Module.toDistribMulAction.{u4, u2} R B (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4)))) (Algebra.toModule.{u4, u2} R B _inst_1 (CommSemiring.toSemiring.{u2} B _inst_4) _inst_6))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u3) u2, u4, max u1 u3, u2} (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) R (MvPolynomial.{u1, u3} σ A _inst_3) B (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)))))) (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4))))) (Module.toDistribMulAction.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3))))) (Algebra.toModule.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5))) (Module.toDistribMulAction.{u4, u2} R B (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4)))) (Algebra.toModule.{u4, u2} R B _inst_1 (CommSemiring.toSemiring.{u2} B _inst_4) _inst_6)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u1 u3) u2, u4, max u1 u3, u2} (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) R (MvPolynomial.{u1, u3} σ A _inst_3) B (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4))) (Module.toDistribMulAction.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3))))) (Algebra.toModule.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5))) (Module.toDistribMulAction.{u4, u2} R B (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4)))) (Algebra.toModule.{u4, u2} R B _inst_1 (CommSemiring.toSemiring.{u2} B _inst_4) _inst_6)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u4, max u1 u3, u2, max (max u1 u3) u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6 (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) (AlgHom.algHomClass.{u4, max u1 u3, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6))))) g (MvPolynomial.X.{u3, u1} A σ _inst_3 i))) -> (Eq.{max (max (succ u1) (succ u3)) (succ u2)} (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) f g)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.alg_hom_ext' MvPolynomial.algHom_ext'ₓ'. -/
@[ext]
theorem algHom_ext' {A B : Type _} [CommSemiring A] [CommSemiring B] [Algebra R A] [Algebra R B]
@@ -929,7 +935,7 @@ theorem support_zero : (0 : MvPolynomial σ R).support = ∅ :=
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {S₁ : Type.{u3}} [_inst_3 : SMulZeroClass.{u3, u1} S₁ R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))] {a : S₁} {f : MvPolynomial.{u2, u1} σ R _inst_1}, HasSubset.Subset.{u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasSubset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (MvPolynomial.support.{u1, u2} R σ _inst_1 (SMul.smul.{u3, max u2 u1} S₁ (MvPolynomial.{u2, u1} σ R _inst_1) (SMulZeroClass.toHasSmul.{u3, max u2 u1} S₁ (MvPolynomial.{u2, u1} σ R _inst_1) (MulZeroClass.toHasZero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toMulZeroClass.{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)))))) (MvPolynomial.smulZeroClass.{u3, u1, u2} S₁ R σ _inst_1 _inst_3)) a f)) (MvPolynomial.support.{u1, u2} R σ _inst_1 f)
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u3}} {_inst_1 : Type.{u1}} [S₁ : CommSemiring.{u2} R] [_inst_3 : CommSemiring.{u3} σ] [a : DistribMulAction.{u2, u3} R σ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R S₁))) (AddMonoidWithOne.toAddMonoid.{u3} σ (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} σ (NonAssocSemiring.toAddCommMonoidWithOne.{u3} σ (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ _inst_3)))))] {f : R} {f_1 : MvPolynomial.{u1, u3} _inst_1 σ _inst_3}, HasSubset.Subset.{u1} (Finset.{u1} (Finsupp.{u1, 0} _inst_1 Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instHasSubsetFinset.{u1} (Finsupp.{u1, 0} _inst_1 Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.support.{u3, u1} σ _inst_1 _inst_3 (HSMul.hSMul.{u2, max u3 u1, max u3 u1} R (MvPolynomial.{u1, u3} _inst_1 σ _inst_3) (MvPolynomial.{u1, u3} _inst_1 σ _inst_3) (instHSMul.{u2, max u3 u1} R (MvPolynomial.{u1, u3} _inst_1 σ _inst_3) (SMulZeroClass.toSMul.{u2, max u3 u1} R (MvPolynomial.{u1, u3} _inst_1 σ _inst_3) (CommMonoidWithZero.toZero.{max u3 u1} (MvPolynomial.{u1, u3} _inst_1 σ _inst_3) (CommSemiring.toCommMonoidWithZero.{max u3 u1} (MvPolynomial.{u1, u3} _inst_1 σ _inst_3) (MvPolynomial.commSemiring.{u3, u1} σ _inst_1 _inst_3))) (DistribSMul.toSMulZeroClass.{u2, max u3 u1} R (MvPolynomial.{u1, u3} _inst_1 σ _inst_3) (AddMonoid.toAddZeroClass.{max u3 u1} (MvPolynomial.{u1, u3} _inst_1 σ _inst_3) (AddMonoidWithOne.toAddMonoid.{max u3 u1} (MvPolynomial.{u1, u3} _inst_1 σ _inst_3) (AddCommMonoidWithOne.toAddMonoidWithOne.{max u3 u1} (MvPolynomial.{u1, u3} _inst_1 σ _inst_3) (NonAssocSemiring.toAddCommMonoidWithOne.{max u3 u1} (MvPolynomial.{u1, u3} _inst_1 σ _inst_3) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_1 σ _inst_3) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_1 σ _inst_3) (MvPolynomial.commSemiring.{u3, u1} σ _inst_1 _inst_3))))))) (DistribMulAction.toDistribSMul.{u2, max u3 u1} R (MvPolynomial.{u1, u3} _inst_1 σ _inst_3) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R S₁))) (AddMonoidWithOne.toAddMonoid.{max u3 u1} (MvPolynomial.{u1, u3} _inst_1 σ _inst_3) (AddCommMonoidWithOne.toAddMonoidWithOne.{max u3 u1} (MvPolynomial.{u1, u3} _inst_1 σ _inst_3) (NonAssocSemiring.toAddCommMonoidWithOne.{max u3 u1} (MvPolynomial.{u1, u3} _inst_1 σ _inst_3) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_1 σ _inst_3) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_1 σ _inst_3) (MvPolynomial.commSemiring.{u3, u1} σ _inst_1 _inst_3)))))) (MvPolynomial.distribuMulAction.{u2, u3, u1} R σ _inst_1 (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R S₁))) _inst_3 a))))) f f_1)) (MvPolynomial.support.{u3, u1} σ _inst_1 _inst_3 f_1)
+ forall {R : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] {S₁ : Type.{u2}} [_inst_3 : SMulZeroClass.{u2, u3} S₁ R (CommMonoidWithZero.toZero.{u3} R (CommSemiring.toCommMonoidWithZero.{u3} R _inst_1))] {a : S₁} {f : MvPolynomial.{u1, u3} σ R _inst_1}, HasSubset.Subset.{u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instHasSubsetFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.support.{u3, u1} R σ _inst_1 (HSMul.hSMul.{u2, max u3 u1, max u3 u1} S₁ (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u1, u3} σ R _inst_1) (instHSMul.{u2, max u3 u1} S₁ (MvPolynomial.{u1, u3} σ R _inst_1) (SMulZeroClass.toSMul.{u2, max u3 u1} S₁ (MvPolynomial.{u1, u3} σ R _inst_1) (CommMonoidWithZero.toZero.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toCommMonoidWithZero.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (MvPolynomial.smulZeroClass.{u2, u3, u1} S₁ R σ _inst_1 _inst_3))) a f)) (MvPolynomial.support.{u3, u1} R σ _inst_1 f)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.support_smul MvPolynomial.support_smulₓ'. -/
theorem support_smul {S₁ : Type _} [SMulZeroClass S₁ R] {a : S₁} {f : MvPolynomial σ R} :
(a • f).support ⊆ f.support :=
@@ -1036,7 +1042,7 @@ theorem coeff_add (m : σ →₀ ℕ) (p q : MvPolynomial σ R) : coeff m (p + q
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {S₁ : Type.{u3}} [_inst_3 : SMulZeroClass.{u3, u1} S₁ R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))] (m : Finsupp.{u2, 0} σ Nat Nat.hasZero) (c : S₁) (p : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m (SMul.smul.{u3, max u2 u1} S₁ (MvPolynomial.{u2, u1} σ R _inst_1) (SMulZeroClass.toHasSmul.{u3, max u2 u1} S₁ (MvPolynomial.{u2, u1} σ R _inst_1) (MulZeroClass.toHasZero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toMulZeroClass.{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)))))) (MvPolynomial.smulZeroClass.{u3, u1, u2} S₁ R σ _inst_1 _inst_3)) c p)) (SMul.smul.{u3, u1} S₁ R (SMulZeroClass.toHasSmul.{u3, u1} S₁ R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) _inst_3) c (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m p))
but is expected to have type
- forall {R : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] {S₁ : Type.{u2}} [_inst_3 : Monoid.{u2} S₁] [m : DistribMulAction.{u2, u3} S₁ R _inst_3 (AddMonoidWithOne.toAddMonoid.{u3} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} R (NonAssocSemiring.toAddCommMonoidWithOne.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))))] (c : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (p : S₁) (p_1 : MvPolynomial.{u1, u3} σ R _inst_1), Eq.{succ u3} R (MvPolynomial.coeff.{u3, u1} R σ _inst_1 c (HSMul.hSMul.{u2, max u3 u1, max u3 u1} S₁ (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u1, u3} σ R _inst_1) (instHSMul.{u2, max u3 u1} S₁ (MvPolynomial.{u1, u3} σ R _inst_1) (SMulZeroClass.toSMul.{u2, max u3 u1} S₁ (MvPolynomial.{u1, u3} σ R _inst_1) (CommMonoidWithZero.toZero.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toCommMonoidWithZero.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (DistribSMul.toSMulZeroClass.{u2, max u3 u1} S₁ (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoidWithOne.toAddMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoidWithOne.toAddMonoidWithOne.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toAddCommMonoidWithOne.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u2, max u3 u1} S₁ (MvPolynomial.{u1, u3} σ R _inst_1) _inst_3 (AddMonoidWithOne.toAddMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoidWithOne.toAddMonoidWithOne.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toAddCommMonoidWithOne.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (MvPolynomial.distribuMulAction.{u2, u3, u1} S₁ R σ _inst_3 _inst_1 m))))) p p_1)) (HSMul.hSMul.{u2, u3, u3} S₁ R R (instHSMul.{u2, u3} S₁ R (SMulZeroClass.toSMul.{u2, u3} S₁ R (CommMonoidWithZero.toZero.{u3} R (CommSemiring.toCommMonoidWithZero.{u3} R _inst_1)) (DistribSMul.toSMulZeroClass.{u2, u3} S₁ R (AddMonoid.toAddZeroClass.{u3} R (AddMonoidWithOne.toAddMonoid.{u3} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} R (NonAssocSemiring.toAddCommMonoidWithOne.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u2, u3} S₁ R _inst_3 (AddMonoidWithOne.toAddMonoid.{u3} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} R (NonAssocSemiring.toAddCommMonoidWithOne.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) m)))) p (MvPolynomial.coeff.{u3, u1} R σ _inst_1 c p_1))
+ forall {R : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] {S₁ : Type.{u2}} [_inst_3 : SMulZeroClass.{u2, u3} S₁ R (CommMonoidWithZero.toZero.{u3} R (CommSemiring.toCommMonoidWithZero.{u3} R _inst_1))] (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (c : S₁) (p : MvPolynomial.{u1, u3} σ R _inst_1), Eq.{succ u3} R (MvPolynomial.coeff.{u3, u1} R σ _inst_1 m (HSMul.hSMul.{u2, max u3 u1, max u3 u1} S₁ (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u1, u3} σ R _inst_1) (instHSMul.{u2, max u3 u1} S₁ (MvPolynomial.{u1, u3} σ R _inst_1) (SMulZeroClass.toSMul.{u2, max u3 u1} S₁ (MvPolynomial.{u1, u3} σ R _inst_1) (CommMonoidWithZero.toZero.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toCommMonoidWithZero.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (MvPolynomial.smulZeroClass.{u2, u3, u1} S₁ R σ _inst_1 _inst_3))) c p)) (HSMul.hSMul.{u2, u3, u3} S₁ R R (instHSMul.{u2, u3} S₁ R (SMulZeroClass.toSMul.{u2, u3} S₁ R (CommMonoidWithZero.toZero.{u3} R (CommSemiring.toCommMonoidWithZero.{u3} R _inst_1)) _inst_3)) c (MvPolynomial.coeff.{u3, u1} R σ _inst_1 m p))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.coeff_smul MvPolynomial.coeff_smulₓ'. -/
@[simp]
theorem coeff_smul {S₁ : Type _} [SMulZeroClass S₁ R] (m : σ →₀ ℕ) (c : S₁) (p : MvPolynomial σ R) :
@@ -1288,6 +1294,12 @@ theorem support_X_mul (s : σ) (p : MvPolynomial σ R) :
AddMonoidAlgebra.support_single_mul p _ (by simp) _
#align mv_polynomial.support_X_mul MvPolynomial.support_X_mul
+/- warning: mv_polynomial.support_smul_eq -> MvPolynomial.support_smul_eq is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {S₁ : Type.{u3}} [_inst_3 : Semiring.{u3} S₁] [_inst_4 : Module.{u3, u1} S₁ R _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))] [_inst_5 : NoZeroSMulDivisors.{u3, u1} S₁ R (MulZeroClass.toHasZero.{u3} S₁ (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ _inst_3)))) (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (SMulZeroClass.toHasSmul.{u3, u1} S₁ R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (SMulWithZero.toSmulZeroClass.{u3, u1} S₁ R (MulZeroClass.toHasZero.{u3} S₁ (MulZeroOneClass.toMulZeroClass.{u3} S₁ (MonoidWithZero.toMulZeroOneClass.{u3} S₁ (Semiring.toMonoidWithZero.{u3} S₁ _inst_3)))) (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (MulActionWithZero.toSMulWithZero.{u3, u1} S₁ R (Semiring.toMonoidWithZero.{u3} S₁ _inst_3) (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (Module.toMulActionWithZero.{u3, u1} S₁ R _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_4))))] {a : S₁}, (Ne.{succ u3} S₁ a (OfNat.ofNat.{u3} S₁ 0 (OfNat.mk.{u3} S₁ 0 (Zero.zero.{u3} S₁ (MulZeroClass.toHasZero.{u3} S₁ (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ _inst_3)))))))) -> (forall (p : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{succ u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (MvPolynomial.support.{u1, u2} R σ _inst_1 (SMul.smul.{u3, max u2 u1} S₁ (MvPolynomial.{u2, u1} σ R _inst_1) (SMulZeroClass.toHasSmul.{u3, max u2 u1} S₁ (MvPolynomial.{u2, u1} σ R _inst_1) (MulZeroClass.toHasZero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toMulZeroClass.{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)))))) (MvPolynomial.smulZeroClass.{u3, u1, u2} S₁ R σ _inst_1 (SMulWithZero.toSmulZeroClass.{u3, u1} S₁ R (MulZeroClass.toHasZero.{u3} S₁ (MulZeroOneClass.toMulZeroClass.{u3} S₁ (MonoidWithZero.toMulZeroOneClass.{u3} S₁ (Semiring.toMonoidWithZero.{u3} S₁ _inst_3)))) (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (MulActionWithZero.toSMulWithZero.{u3, u1} S₁ R (Semiring.toMonoidWithZero.{u3} S₁ _inst_3) (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Module.toMulActionWithZero.{u3, u1} S₁ R _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_4))))) a p)) (MvPolynomial.support.{u1, u2} R σ _inst_1 p))
+but is expected to have type
+ forall {R : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] {S₁ : Type.{u2}} [_inst_3 : Semiring.{u2} S₁] [_inst_4 : Module.{u2, u3} S₁ R _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))] [_inst_5 : NoZeroSMulDivisors.{u2, u3} S₁ R (MonoidWithZero.toZero.{u2} S₁ (Semiring.toMonoidWithZero.{u2} S₁ _inst_3)) (CommMonoidWithZero.toZero.{u3} R (CommSemiring.toCommMonoidWithZero.{u3} R _inst_1)) (SMulZeroClass.toSMul.{u2, u3} S₁ R (CommMonoidWithZero.toZero.{u3} R (CommSemiring.toCommMonoidWithZero.{u3} R _inst_1)) (SMulWithZero.toSMulZeroClass.{u2, u3} S₁ R (MonoidWithZero.toZero.{u2} S₁ (Semiring.toMonoidWithZero.{u2} S₁ _inst_3)) (CommMonoidWithZero.toZero.{u3} R (CommSemiring.toCommMonoidWithZero.{u3} R _inst_1)) (MulActionWithZero.toSMulWithZero.{u2, u3} S₁ R (Semiring.toMonoidWithZero.{u2} S₁ _inst_3) (CommMonoidWithZero.toZero.{u3} R (CommSemiring.toCommMonoidWithZero.{u3} R _inst_1)) (Module.toMulActionWithZero.{u2, u3} S₁ R _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) _inst_4))))] {a : S₁}, (Ne.{succ u2} S₁ a (OfNat.ofNat.{u2} S₁ 0 (Zero.toOfNat0.{u2} S₁ (MonoidWithZero.toZero.{u2} S₁ (Semiring.toMonoidWithZero.{u2} S₁ _inst_3))))) -> (forall (p : MvPolynomial.{u1, u3} σ R _inst_1), Eq.{succ u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.support.{u3, u1} R σ _inst_1 (HSMul.hSMul.{u2, max u3 u1, max u3 u1} S₁ (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u1, u3} σ R _inst_1) (instHSMul.{u2, max u3 u1} S₁ (MvPolynomial.{u1, u3} σ R _inst_1) (SMulZeroClass.toSMul.{u2, max u3 u1} S₁ (MvPolynomial.{u1, u3} σ R _inst_1) (CommMonoidWithZero.toZero.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toCommMonoidWithZero.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (MvPolynomial.smulZeroClass.{u2, u3, u1} S₁ R σ _inst_1 (SMulWithZero.toSMulZeroClass.{u2, u3} S₁ R (MonoidWithZero.toZero.{u2} S₁ (Semiring.toMonoidWithZero.{u2} S₁ _inst_3)) (CommMonoidWithZero.toZero.{u3} R (CommSemiring.toCommMonoidWithZero.{u3} R _inst_1)) (MulActionWithZero.toSMulWithZero.{u2, u3} S₁ R (Semiring.toMonoidWithZero.{u2} S₁ _inst_3) (CommMonoidWithZero.toZero.{u3} R (CommSemiring.toCommMonoidWithZero.{u3} R _inst_1)) (Module.toMulActionWithZero.{u2, u3} S₁ R _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) _inst_4)))))) a p)) (MvPolynomial.support.{u3, u1} R σ _inst_1 p))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.support_smul_eq MvPolynomial.support_smul_eqₓ'. -/
@[simp]
theorem support_smul_eq {S₁ : Type _} [Semiring S₁] [Module S₁ R] [NoZeroSMulDivisors S₁ R] {a : S₁}
(h : a ≠ 0) (p : MvPolynomial σ R) : (a • p).support = p.support :=
@@ -1419,6 +1431,12 @@ theorem ne_zero_iff {p : MvPolynomial σ R} : p ≠ 0 ↔ ∃ d, coeff d p ≠ 0
push_neg
#align mv_polynomial.ne_zero_iff MvPolynomial.ne_zero_iff
+/- warning: mv_polynomial.support_eq_empty -> MvPolynomial.support_eq_empty is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {p : MvPolynomial.{u2, u1} σ R _inst_1}, Iff (Eq.{succ u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (MvPolynomial.support.{u1, u2} R σ _inst_1 p) (EmptyCollection.emptyCollection.{u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasEmptyc.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)))) (Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) p (OfNat.ofNat.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) 0 (OfNat.mk.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) 0 (Zero.zero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MulZeroClass.toHasZero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toMulZeroClass.{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))))))))))
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {p : MvPolynomial.{u1, u2} σ R _inst_1}, Iff (Eq.{succ u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.support.{u2, u1} R σ _inst_1 p) (EmptyCollection.emptyCollection.{u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instEmptyCollectionFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))))) (Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u1, u2} σ R _inst_1) p (OfNat.ofNat.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) 0 (Zero.toOfNat0.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (CommMonoidWithZero.toZero.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toCommMonoidWithZero.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1))))))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.support_eq_empty MvPolynomial.support_eq_emptyₓ'. -/
@[simp]
theorem support_eq_empty {p : MvPolynomial σ R} : p.support = ∅ ↔ p = 0 :=
Finsupp.support_eq_empty
@@ -1523,7 +1541,7 @@ variable {R}
lean 3 declaration is
forall {S₁ : Type.{u1}} {σ : Type.{u2}} [_inst_2 : CommSemiring.{u1} S₁] {R : Type.{u3}} [_inst_3 : SMulZeroClass.{u3, u1} R S₁ (MulZeroClass.toHasZero.{u1} S₁ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S₁ (Semiring.toNonAssocSemiring.{u1} S₁ (CommSemiring.toSemiring.{u1} S₁ _inst_2)))))] (a : R) (f : MvPolynomial.{u2, u1} σ S₁ _inst_2), Eq.{succ u1} S₁ (coeFn.{max (succ (max u2 u1)) (succ u1), max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u1, u2} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{u1} S₁ (CommSemiring.toSemiring.{u1} S₁ _inst_2))) (fun (_x : RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u1, u2} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{u1} S₁ (CommSemiring.toSemiring.{u1} S₁ _inst_2))) => (MvPolynomial.{u2, u1} σ S₁ _inst_2) -> S₁) (RingHom.hasCoeToFun.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u1, u2} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{u1} S₁ (CommSemiring.toSemiring.{u1} S₁ _inst_2))) (MvPolynomial.constantCoeff.{u1, u2} S₁ σ _inst_2) (SMul.smul.{u3, max u2 u1} R (MvPolynomial.{u2, u1} σ S₁ _inst_2) (SMulZeroClass.toHasSmul.{u3, max u2 u1} R (MvPolynomial.{u2, u1} σ S₁ _inst_2) (MulZeroClass.toHasZero.{max u2 u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMulZeroClass.{max u2 u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u1, u2} S₁ σ _inst_2)))))) (MvPolynomial.smulZeroClass.{u3, u1, u2} R S₁ σ _inst_2 _inst_3)) a f)) (SMul.smul.{u3, u1} R S₁ (SMulZeroClass.toHasSmul.{u3, u1} R S₁ (MulZeroClass.toHasZero.{u1} S₁ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S₁ (Semiring.toNonAssocSemiring.{u1} S₁ (CommSemiring.toSemiring.{u1} S₁ _inst_2))))) _inst_3) a (coeFn.{max (succ (max u2 u1)) (succ u1), max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u1, u2} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{u1} S₁ (CommSemiring.toSemiring.{u1} S₁ _inst_2))) (fun (_x : RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u1, u2} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{u1} S₁ (CommSemiring.toSemiring.{u1} S₁ _inst_2))) => (MvPolynomial.{u2, u1} σ S₁ _inst_2) -> S₁) (RingHom.hasCoeToFun.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u1, u2} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{u1} S₁ (CommSemiring.toSemiring.{u1} S₁ _inst_2))) (MvPolynomial.constantCoeff.{u1, u2} S₁ σ _inst_2) f))
but is expected to have type
- forall {S₁ : Type.{u2}} {σ : Type.{u3}} {_inst_2 : Type.{u1}} [R : CommSemiring.{u2} S₁] [_inst_3 : CommSemiring.{u3} σ] [a : DistribMulAction.{u2, u3} S₁ σ (MonoidWithZero.toMonoid.{u2} S₁ (Semiring.toMonoidWithZero.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ R))) (AddMonoidWithOne.toAddMonoid.{u3} σ (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} σ (NonAssocSemiring.toAddCommMonoidWithOne.{u3} σ (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ _inst_3)))))] (f : S₁) (f_1 : MvPolynomial.{u1, u3} _inst_2 σ _inst_3), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} _inst_2 σ _inst_3) => σ) (HSMul.hSMul.{u2, max u3 u1, max u3 u1} S₁ (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (instHSMul.{u2, max u3 u1} S₁ (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (SMulZeroClass.toSMul.{u2, max u3 u1} S₁ (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (CommMonoidWithZero.toZero.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (CommSemiring.toCommMonoidWithZero.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (MvPolynomial.commSemiring.{u3, u1} σ _inst_2 _inst_3))) (DistribSMul.toSMulZeroClass.{u2, max u3 u1} S₁ (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (AddMonoid.toAddZeroClass.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (AddMonoidWithOne.toAddMonoid.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (AddCommMonoidWithOne.toAddMonoidWithOne.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (NonAssocSemiring.toAddCommMonoidWithOne.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (MvPolynomial.commSemiring.{u3, u1} σ _inst_2 _inst_3))))))) (DistribMulAction.toDistribSMul.{u2, max u3 u1} S₁ (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (MonoidWithZero.toMonoid.{u2} S₁ (Semiring.toMonoidWithZero.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ R))) (AddMonoidWithOne.toAddMonoid.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (AddCommMonoidWithOne.toAddMonoidWithOne.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (NonAssocSemiring.toAddCommMonoidWithOne.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (MvPolynomial.commSemiring.{u3, u1} σ _inst_2 _inst_3)))))) (MvPolynomial.distribuMulAction.{u2, u3, u1} S₁ σ _inst_2 (MonoidWithZero.toMonoid.{u2} S₁ (Semiring.toMonoidWithZero.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ R))) _inst_3 a))))) f f_1)) (FunLike.coe.{max (succ u1) (succ u3), max (succ u1) (succ u3), succ u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) σ (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (MvPolynomial.commSemiring.{u3, u1} σ _inst_2 _inst_3))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ _inst_3))) (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (fun (a : MvPolynomial.{u1, u3} _inst_2 σ _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} _inst_2 σ _inst_3) => σ) a) (MulHomClass.toFunLike.{max u1 u3, max u1 u3, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) σ (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (MvPolynomial.commSemiring.{u3, u1} σ _inst_2 _inst_3))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ _inst_3))) (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) σ (NonUnitalNonAssocSemiring.toMul.{max u1 u3} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (MvPolynomial.commSemiring.{u3, u1} σ _inst_2 _inst_3))))) (NonUnitalNonAssocSemiring.toMul.{u3} σ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} σ (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u3, max u1 u3, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) σ (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (MvPolynomial.commSemiring.{u3, u1} σ _inst_2 _inst_3))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ _inst_3))) (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) σ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (MvPolynomial.commSemiring.{u3, u1} σ _inst_2 _inst_3)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} σ (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u3, max u1 u3, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) σ (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (MvPolynomial.commSemiring.{u3, u1} σ _inst_2 _inst_3))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ _inst_3))) (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) σ (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (MvPolynomial.commSemiring.{u3, u1} σ _inst_2 _inst_3))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ _inst_3)) (RingHom.instRingHomClassRingHom.{max u1 u3, u3} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) σ (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (MvPolynomial.commSemiring.{u3, u1} σ _inst_2 _inst_3))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ _inst_3)))))) (MvPolynomial.constantCoeff.{u3, u1} σ _inst_2 _inst_3) (HSMul.hSMul.{u2, max u3 u1, max u3 u1} S₁ (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (instHSMul.{u2, max u3 u1} S₁ (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (SMulZeroClass.toSMul.{u2, max u3 u1} S₁ (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (CommMonoidWithZero.toZero.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (CommSemiring.toCommMonoidWithZero.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (MvPolynomial.commSemiring.{u3, u1} σ _inst_2 _inst_3))) (DistribSMul.toSMulZeroClass.{u2, max u3 u1} S₁ (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (AddMonoid.toAddZeroClass.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (AddMonoidWithOne.toAddMonoid.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (AddCommMonoidWithOne.toAddMonoidWithOne.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (NonAssocSemiring.toAddCommMonoidWithOne.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (MvPolynomial.commSemiring.{u3, u1} σ _inst_2 _inst_3))))))) (DistribMulAction.toDistribSMul.{u2, max u3 u1} S₁ (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (MonoidWithZero.toMonoid.{u2} S₁ (Semiring.toMonoidWithZero.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ R))) (AddMonoidWithOne.toAddMonoid.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (AddCommMonoidWithOne.toAddMonoidWithOne.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (NonAssocSemiring.toAddCommMonoidWithOne.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (MvPolynomial.commSemiring.{u3, u1} σ _inst_2 _inst_3)))))) (MvPolynomial.distribuMulAction.{u2, u3, u1} S₁ σ _inst_2 (MonoidWithZero.toMonoid.{u2} S₁ (Semiring.toMonoidWithZero.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ R))) _inst_3 a))))) f f_1)) (HSMul.hSMul.{u2, u3, u3} S₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} _inst_2 σ _inst_3) => σ) f_1) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} _inst_2 σ _inst_3) => σ) f_1) (instHSMul.{u2, u3} S₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} _inst_2 σ _inst_3) => σ) f_1) (SMulZeroClass.toSMul.{u2, u3} S₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} _inst_2 σ _inst_3) => σ) f_1) (CommMonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} _inst_2 σ _inst_3) => σ) f_1) (CommSemiring.toCommMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} _inst_2 σ _inst_3) => σ) f_1) _inst_3)) (DistribSMul.toSMulZeroClass.{u2, u3} S₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} _inst_2 σ _inst_3) => σ) f_1) (AddMonoid.toAddZeroClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} _inst_2 σ _inst_3) => σ) f_1) (AddMonoidWithOne.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} _inst_2 σ _inst_3) => σ) f_1) (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} _inst_2 σ _inst_3) => σ) f_1) (NonAssocSemiring.toAddCommMonoidWithOne.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} _inst_2 σ _inst_3) => σ) f_1) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} _inst_2 σ _inst_3) => σ) f_1) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} _inst_2 σ _inst_3) => σ) f_1) _inst_3)))))) (DistribMulAction.toDistribSMul.{u2, u3} S₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} _inst_2 σ _inst_3) => σ) f_1) (MonoidWithZero.toMonoid.{u2} S₁ (Semiring.toMonoidWithZero.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ R))) (AddMonoidWithOne.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} _inst_2 σ _inst_3) => σ) f_1) (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} _inst_2 σ _inst_3) => σ) f_1) (NonAssocSemiring.toAddCommMonoidWithOne.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} _inst_2 σ _inst_3) => σ) f_1) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} _inst_2 σ _inst_3) => σ) f_1) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} _inst_2 σ _inst_3) => σ) f_1) _inst_3))))) a)))) f (FunLike.coe.{max (succ u1) (succ u3), max (succ u1) (succ u3), succ u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) σ (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (MvPolynomial.commSemiring.{u3, u1} σ _inst_2 _inst_3))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ _inst_3))) (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (fun (a : MvPolynomial.{u1, u3} _inst_2 σ _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} _inst_2 σ _inst_3) => σ) a) (MulHomClass.toFunLike.{max u1 u3, max u1 u3, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) σ (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (MvPolynomial.commSemiring.{u3, u1} σ _inst_2 _inst_3))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ _inst_3))) (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) σ (NonUnitalNonAssocSemiring.toMul.{max u1 u3} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (MvPolynomial.commSemiring.{u3, u1} σ _inst_2 _inst_3))))) (NonUnitalNonAssocSemiring.toMul.{u3} σ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} σ (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u3, max u1 u3, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) σ (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (MvPolynomial.commSemiring.{u3, u1} σ _inst_2 _inst_3))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ _inst_3))) (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) σ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (MvPolynomial.commSemiring.{u3, u1} σ _inst_2 _inst_3)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} σ (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u3, max u1 u3, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) σ (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (MvPolynomial.commSemiring.{u3, u1} σ _inst_2 _inst_3))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ _inst_3))) (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) σ (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (MvPolynomial.commSemiring.{u3, u1} σ _inst_2 _inst_3))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ _inst_3)) (RingHom.instRingHomClassRingHom.{max u1 u3, u3} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) σ (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (MvPolynomial.commSemiring.{u3, u1} σ _inst_2 _inst_3))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ _inst_3)))))) (MvPolynomial.constantCoeff.{u3, u1} σ _inst_2 _inst_3) f_1))
+ forall {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_2 : CommSemiring.{u3} S₁] {R : Type.{u2}} [_inst_3 : SMulZeroClass.{u2, u3} R S₁ (CommMonoidWithZero.toZero.{u3} S₁ (CommSemiring.toCommMonoidWithZero.{u3} S₁ _inst_2))] (a : R) (f : MvPolynomial.{u1, u3} σ S₁ _inst_2), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) (HSMul.hSMul.{u2, max u3 u1, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (instHSMul.{u2, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (SMulZeroClass.toSMul.{u2, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (CommMonoidWithZero.toZero.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (CommSemiring.toCommMonoidWithZero.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u3, u1} S₁ σ _inst_2))) (MvPolynomial.smulZeroClass.{u2, u3, u1} R S₁ σ _inst_2 _inst_3))) a f)) (FunLike.coe.{max (succ u1) (succ u3), max (succ u1) (succ u3), succ u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (fun (_x : MvPolynomial.{u1, u3} σ S₁ _inst_2) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) _x) (MulHomClass.toFunLike.{max u1 u3, max u1 u3, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (NonUnitalNonAssocSemiring.toMul.{max u1 u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (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))))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u3, max u1 u3, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (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)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u3, max u1 u3, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{max u1 u3, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (MvPolynomial.constantCoeff.{u3, u1} S₁ σ _inst_2) (HSMul.hSMul.{u2, max u3 u1, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (instHSMul.{u2, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (SMulZeroClass.toSMul.{u2, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (CommMonoidWithZero.toZero.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (CommSemiring.toCommMonoidWithZero.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u3, u1} S₁ σ _inst_2))) (MvPolynomial.smulZeroClass.{u2, u3, u1} R S₁ σ _inst_2 _inst_3))) a f)) (HSMul.hSMul.{u2, u3, u3} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) f) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) f) (instHSMul.{u2, u3} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) f) (SMulZeroClass.toSMul.{u2, u3} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) f) (CommMonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) f) (CommSemiring.toCommMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) f) _inst_2)) _inst_3)) a (FunLike.coe.{max (succ u1) (succ u3), max (succ u1) (succ u3), succ u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (fun (_x : MvPolynomial.{u1, u3} σ S₁ _inst_2) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) _x) (MulHomClass.toFunLike.{max u1 u3, max u1 u3, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (NonUnitalNonAssocSemiring.toMul.{max u1 u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (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))))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u3, max u1 u3, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (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)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u3, max u1 u3, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{max u1 u3, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (MvPolynomial.constantCoeff.{u3, u1} S₁ σ _inst_2) f))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.constant_coeff_smul MvPolynomial.constantCoeff_smulₓ'. -/
@[simp]
theorem constantCoeff_smul {R : Type _} [SMulZeroClass R S₁] (a : R) (f : MvPolynomial σ S₁) :
@@ -2604,7 +2622,7 @@ theorem map_aeval {B : Type _} [CommSemiring B] (g : σ → S₁) (φ : S₁ →
lean 3 declaration is
forall {R : Type.{u1}} {S₂ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_4 : CommSemiring.{u2} S₂] (f : RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))), Eq.{max (succ (max u3 u1)) (succ u2)} (RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (MvPolynomial.eval₂Hom.{u1, u2, u3} R S₂ σ _inst_1 _inst_4 f (OfNat.ofNat.{max u3 u2} (σ -> S₂) 0 (OfNat.mk.{max u3 u2} (σ -> S₂) 0 (Zero.zero.{max u3 u2} (σ -> S₂) (Pi.instZero.{u3, u2} σ (fun (ᾰ : σ) => S₂) (fun (i : σ) => MulZeroClass.toHasZero.{u2} S₂ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4)))))))))) (RingHom.comp.{max u3 u1, u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) R S₂ (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4)) f (MvPolynomial.constantCoeff.{u1, u3} R σ _inst_1))
but is expected to have type
- forall {R : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_4 : CommSemiring.{u3} S₂] (f : RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))), Eq.{max (max (succ u2) (succ u3)) (succ u1)} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₂ σ _inst_1 _inst_4 f (OfNat.ofNat.{max u3 u1} (σ -> S₂) 0 (Zero.toOfNat0.{max u3 u1} (σ -> S₂) (Pi.instZero.{u1, u3} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.20294 : σ) => S₂) (fun (i : σ) => CommMonoidWithZero.toZero.{u3} S₂ (CommSemiring.toCommMonoidWithZero.{u3} S₂ _inst_4)))))) (RingHom.comp.{max u1 u2, u2, u3} (MvPolynomial.{u1, u2} σ R _inst_1) R 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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) f (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1))
+ forall {R : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_4 : CommSemiring.{u3} S₂] (f : RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))), Eq.{max (max (succ u2) (succ u3)) (succ u1)} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₂ σ _inst_1 _inst_4 f (OfNat.ofNat.{max u3 u1} (σ -> S₂) 0 (Zero.toOfNat0.{max u3 u1} (σ -> S₂) (Pi.instZero.{u1, u3} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.20500 : σ) => S₂) (fun (i : σ) => CommMonoidWithZero.toZero.{u3} S₂ (CommSemiring.toCommMonoidWithZero.{u3} S₂ _inst_4)))))) (RingHom.comp.{max u1 u2, u2, u3} (MvPolynomial.{u1, u2} σ R _inst_1) R 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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) f (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_hom_zero MvPolynomial.eval₂Hom_zeroₓ'. -/
@[simp]
theorem eval₂Hom_zero (f : R →+* S₂) : eval₂Hom f (0 : σ → S₂) = f.comp constantCoeff := by
@@ -2626,7 +2644,7 @@ theorem eval₂Hom_zero' (f : R →+* S₂) : eval₂Hom f (fun _ => 0 : σ →
lean 3 declaration is
forall {R : Type.{u1}} {S₂ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_4 : CommSemiring.{u2} S₂] (f : RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (p : MvPolynomial.{u3, u1} σ R _inst_1), Eq.{succ u2} S₂ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (fun (_x : RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₂) (RingHom.hasCoeToFun.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (MvPolynomial.eval₂Hom.{u1, u2, u3} R S₂ σ _inst_1 _inst_4 f (OfNat.ofNat.{max u3 u2} (σ -> S₂) 0 (OfNat.mk.{max u3 u2} (σ -> S₂) 0 (Zero.zero.{max u3 u2} (σ -> S₂) (Pi.instZero.{u3, u2} σ (fun (ᾰ : σ) => S₂) (fun (i : σ) => MulZeroClass.toHasZero.{u2} S₂ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4)))))))))) p) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (fun (_x : RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) => R -> S₂) (RingHom.hasCoeToFun.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) f (coeFn.{max (succ (max u3 u1)) (succ u1), max (succ (max u3 u1)) (succ u1)} (RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.constantCoeff.{u1, u3} R σ _inst_1) p))
but is expected to have type
- forall {R : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_4 : CommSemiring.{u3} S₂] (f : RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) p) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (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 u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₂ σ _inst_1 _inst_4 f (OfNat.ofNat.{max u3 u1} (σ -> S₂) 0 (Zero.toOfNat0.{max u3 u1} (σ -> S₂) (Pi.instZero.{u1, u3} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.20448 : σ) => S₂) (fun (i : σ) => CommMonoidWithZero.toZero.{u3} S₂ (CommSemiring.toCommMonoidWithZero.{u3} S₂ _inst_4)))))) p) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₂) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))))) f (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (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) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) p))
+ forall {R : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_4 : CommSemiring.{u3} S₂] (f : RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) p) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (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 u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₂ σ _inst_1 _inst_4 f (OfNat.ofNat.{max u3 u1} (σ -> S₂) 0 (Zero.toOfNat0.{max u3 u1} (σ -> S₂) (Pi.instZero.{u1, u3} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.20654 : σ) => S₂) (fun (i : σ) => CommMonoidWithZero.toZero.{u3} S₂ (CommSemiring.toCommMonoidWithZero.{u3} S₂ _inst_4)))))) p) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₂) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))))) f (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (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) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) p))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_hom_zero_apply MvPolynomial.eval₂Hom_zero_applyₓ'. -/
theorem eval₂Hom_zero_apply (f : R →+* S₂) (p : MvPolynomial σ R) :
eval₂Hom f (0 : σ → S₂) p = f (constantCoeff p) :=
@@ -2648,7 +2666,7 @@ theorem eval₂Hom_zero'_apply (f : R →+* S₂) (p : MvPolynomial σ R) :
lean 3 declaration is
forall {R : Type.{u1}} {S₂ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_4 : CommSemiring.{u2} S₂] (f : RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (p : MvPolynomial.{u3, u1} σ R _inst_1), Eq.{succ u2} S₂ (MvPolynomial.eval₂.{u1, u2, u3} R S₂ σ _inst_1 _inst_4 f (OfNat.ofNat.{max u3 u2} (σ -> S₂) 0 (OfNat.mk.{max u3 u2} (σ -> S₂) 0 (Zero.zero.{max u3 u2} (σ -> S₂) (Pi.instZero.{u3, u2} σ (fun (ᾰ : σ) => S₂) (fun (i : σ) => MulZeroClass.toHasZero.{u2} S₂ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))))))))) p) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (fun (_x : RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) => R -> S₂) (RingHom.hasCoeToFun.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) f (coeFn.{max (succ (max u3 u1)) (succ u1), max (succ (max u3 u1)) (succ u1)} (RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.constantCoeff.{u1, u3} R σ _inst_1) p))
but is expected to have type
- forall {R : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_4 : CommSemiring.{u3} S₂] (f : RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} S₂ (MvPolynomial.eval₂.{u2, u3, u1} R S₂ σ _inst_1 _inst_4 f (OfNat.ofNat.{max u3 u1} (σ -> S₂) 0 (Zero.toOfNat0.{max u3 u1} (σ -> S₂) (Pi.instZero.{u1, u3} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.20607 : σ) => S₂) (fun (i : σ) => CommMonoidWithZero.toZero.{u3} S₂ (CommSemiring.toCommMonoidWithZero.{u3} S₂ _inst_4))))) p) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₂) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))))) f (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (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) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) p))
+ forall {R : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_4 : CommSemiring.{u3} S₂] (f : RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} S₂ (MvPolynomial.eval₂.{u2, u3, u1} R S₂ σ _inst_1 _inst_4 f (OfNat.ofNat.{max u3 u1} (σ -> S₂) 0 (Zero.toOfNat0.{max u3 u1} (σ -> S₂) (Pi.instZero.{u1, u3} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.20813 : σ) => S₂) (fun (i : σ) => CommMonoidWithZero.toZero.{u3} S₂ (CommSemiring.toCommMonoidWithZero.{u3} S₂ _inst_4))))) p) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₂) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))))) f (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (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) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) p))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_zero_apply MvPolynomial.eval₂_zero_applyₓ'. -/
@[simp]
theorem eval₂_zero_apply (f : R →+* S₂) (p : MvPolynomial σ R) :
@@ -2672,7 +2690,7 @@ theorem eval₂_zero'_apply (f : R →+* S₂) (p : MvPolynomial σ R) :
lean 3 declaration is
forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : Algebra.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2)] (p : MvPolynomial.{u3, u1} σ R _inst_1), Eq.{succ u2} S₁ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (fun (_x : AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) ([anonymous].{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (MvPolynomial.aeval.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 _inst_3 (OfNat.ofNat.{max u3 u2} (σ -> S₁) 0 (OfNat.mk.{max u3 u2} (σ -> S₁) 0 (Zero.zero.{max u3 u2} (σ -> S₁) (Pi.instZero.{u3, u2} σ (fun (ᾰ : σ) => S₁) (fun (i : σ) => MulZeroClass.toHasZero.{u2} S₁ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))))))))) p) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (algebraMap.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) _inst_3) (coeFn.{max (succ (max u3 u1)) (succ u1), max (succ (max u3 u1)) (succ u1)} (RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.constantCoeff.{u1, u3} R σ _inst_1) p))
but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : Algebra.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2)] (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) p) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u1) (succ u2), succ u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (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) => S₁) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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, 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.{u2, 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.{u2, u3} R S₁ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{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.{u2, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, 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.{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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u1 u2, u3, max (max u3 u1) u2} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3 (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (AlgHom.algHomClass.{u2, max u1 u2, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3))))) (MvPolynomial.aeval.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_3 (OfNat.ofNat.{max u3 u1} (σ -> S₁) 0 (Zero.toOfNat0.{max u3 u1} (σ -> S₁) (Pi.instZero.{u1, u3} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.20755 : σ) => S₁) (fun (i : σ) => CommMonoidWithZero.toZero.{u3} S₁ (CommSemiring.toCommMonoidWithZero.{u3} S₁ _inst_2)))))) p) (FunLike.coe.{max (succ u3) (succ u2), succ u2, succ u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) => S₁) _x) (MulHomClass.toFunLike.{max u3 u2, u2, u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (NonUnitalNonAssocSemiring.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u2, u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u2, u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (algebraMap.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (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) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) p))
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : Algebra.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2)] (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) p) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u1) (succ u2), succ u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (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) => S₁) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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, 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.{u2, 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.{u2, u3} R S₁ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{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.{u2, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, 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.{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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u1 u2, u3, max (max u3 u1) u2} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3 (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (AlgHom.algHomClass.{u2, max u1 u2, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3))))) (MvPolynomial.aeval.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_3 (OfNat.ofNat.{max u3 u1} (σ -> S₁) 0 (Zero.toOfNat0.{max u3 u1} (σ -> S₁) (Pi.instZero.{u1, u3} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.20961 : σ) => S₁) (fun (i : σ) => CommMonoidWithZero.toZero.{u3} S₁ (CommSemiring.toCommMonoidWithZero.{u3} S₁ _inst_2)))))) p) (FunLike.coe.{max (succ u3) (succ u2), succ u2, succ u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) => S₁) _x) (MulHomClass.toFunLike.{max u3 u2, u2, u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (NonUnitalNonAssocSemiring.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u2, u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u2, u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (algebraMap.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (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) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) p))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_zero MvPolynomial.aeval_zeroₓ'. -/
@[simp]
theorem aeval_zero (p : MvPolynomial σ R) :
@@ -2696,7 +2714,7 @@ theorem aeval_zero' (p : MvPolynomial σ R) :
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R], Eq.{max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.eval.{u1, u2} R σ _inst_1 (OfNat.ofNat.{max u2 u1} (σ -> R) 0 (OfNat.mk.{max u2 u1} (σ -> R) 0 (Zero.zero.{max u2 u1} (σ -> R) (Pi.instZero.{u2, u1} σ (fun (ᾰ : σ) => R) (fun (i : σ) => MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))) (MvPolynomial.constantCoeff.{u1, u2} R σ _inst_1)
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.eval.{u2, u1} R σ _inst_1 (OfNat.ofNat.{max u2 u1} (σ -> R) 0 (Zero.toOfNat0.{max u2 u1} (σ -> R) (Pi.instZero.{u1, u2} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.20903 : σ) => R) (fun (i : σ) => CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1)
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.eval.{u2, u1} R σ _inst_1 (OfNat.ofNat.{max u2 u1} (σ -> R) 0 (Zero.toOfNat0.{max u2 u1} (σ -> R) (Pi.instZero.{u1, u2} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.21109 : σ) => R) (fun (i : σ) => CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval_zero MvPolynomial.eval_zeroₓ'. -/
@[simp]
theorem eval_zero : eval (0 : σ → R) = constantCoeff :=
@@ -2878,7 +2896,7 @@ theorem aevalTower_comp_algebraMap :
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {S : Type.{u3}} {A : Type.{u4}} [_inst_3 : CommSemiring.{u3} S] [_inst_4 : CommSemiring.{u4} A] [_inst_6 : Algebra.{u3, u1} S R _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1)] [_inst_7 : Algebra.{u3, u4} S A _inst_3 (CommSemiring.toSemiring.{u4} A _inst_4)] (g : AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) (y : σ -> A) (x : R), Eq.{succ u4} A (coeFn.{max (succ (max u2 u1)) (succ u4), max (succ (max u2 u1)) (succ u4)} (AlgHom.{u3, max u2 u1, u4} S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (fun (_x : AlgHom.{u3, max u2 u1, u4} S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) => (MvPolynomial.{u2, u1} σ R _inst_1) -> A) ([anonymous].{u3, max u2 u1, u4} S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (MvPolynomial.aevalTower.{u1, u2, u3, u4} R σ _inst_1 S A _inst_3 _inst_4 _inst_6 _inst_7 g y) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (AlgHom.{u3, u1, max u2 u1} S R (MvPolynomial.{u2, u1} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6)) (fun (_x : AlgHom.{u3, u1, max u2 u1} S R (MvPolynomial.{u2, u1} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6)) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) ([anonymous].{u3, u1, max u2 u1} S R (MvPolynomial.{u2, u1} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6)) (IsScalarTower.toAlgHom.{u3, u1, max u2 u1} S R (MvPolynomial.{u2, u1} σ R _inst_1) _inst_3 _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) (MvPolynomial.isScalarTower.{u3, u1, u1, u2} S R R σ _inst_1 (SMulZeroClass.toHasSmul.{u3, u1} S R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (SMulWithZero.toSmulZeroClass.{u3, u1} S R (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3))))) (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (MulActionWithZero.toSMulWithZero.{u3, u1} S R (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3)) (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (Module.toMulActionWithZero.{u3, u1} S R (CommSemiring.toSemiring.{u3} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u3, u1} S R _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6))))) (SMulWithZero.toSmulZeroClass.{u3, u1} S R (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3))))) (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (MulActionWithZero.toSMulWithZero.{u3, u1} S R (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3)) (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Module.toMulActionWithZero.{u3, u1} S R (CommSemiring.toSemiring.{u3} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u3, u1} S R _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6)))) (SMulWithZero.toSmulZeroClass.{u1, u1} R R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (MulZeroClass.toSMulWithZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (IsScalarTower.right.{u3, u1} S R _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6))) x)) (coeFn.{max (succ u1) (succ u4), max (succ u1) (succ u4)} (AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) (fun (_x : AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) => R -> A) ([anonymous].{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) g x)
but is expected to have type
- forall {R : Type.{u4}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u4} R] {S : Type.{u1}} {A : Type.{u3}} [_inst_3 : CommSemiring.{u1} S] [_inst_4 : CommSemiring.{u3} A] [_inst_6 : Algebra.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1)] [_inst_7 : Algebra.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4)] (g : AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) (y : σ -> A) (x : R), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u2, u4} σ R _inst_1) => A) (FunLike.coe.{max (succ u4) (succ u2), succ u4, max (succ u4) (succ u2)} (AlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : R) => MvPolynomial.{u2, u4} σ R _inst_1) a) (SMulHomClass.toFunLike.{max u4 u2, u1, u4, max u4 u2} (AlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)) S R (MvPolynomial.{u2, u4} σ R _inst_1) (SMulZeroClass.toSMul.{u1, u4} S R (AddMonoid.toZero.{u4} R (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u1, u4} S R (AddMonoid.toAddZeroClass.{u4} R (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u1, u4} S R (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6))))) (SMulZeroClass.toSMul.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toZero.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))))) (DistribSMul.toSMulZeroClass.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))))) (DistribMulAction.toDistribSMul.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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)))))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)))))) (DistribMulActionHomClass.toSMulHomClass.{max u4 u2, u1, u4, max u4 u2} (AlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)) S R (MvPolynomial.{u2, u4} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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)))))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u4 u2, u1, u4, max u4 u2} (AlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)) S R (MvPolynomial.{u2, u4} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, u4, max u4 u2, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) (AlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)) (AlgHom.algHomClass.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)))))) (IsScalarTower.toAlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 _inst_1 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u4, u4, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) (MvPolynomial.isScalarTower.{u1, u4, u4, u2} S R R σ (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) _inst_1 (Algebra.toSMul.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u4, u4} R R (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (IsScalarTower.right.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6))) x)) (FunLike.coe.{max (max (succ u4) (succ u2)) (succ u3), max (succ u4) (succ u2), succ u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (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) => A) _x) (SMulHomClass.toFunLike.{max (max u4 u2) u3, u1, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u4} σ R _inst_1) A (SMulZeroClass.toSMul.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toZero.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))))) (DistribSMul.toSMulZeroClass.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))))) (DistribMulAction.toDistribSMul.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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)))))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)))))) (SMulZeroClass.toSMul.{u1, u3} S A (AddMonoid.toZero.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribSMul.toSMulZeroClass.{u1, u3} S A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribMulAction.toDistribSMul.{u1, u3} S A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u2) u3, u1, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u4} σ R _inst_1) A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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)))))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u4 u2) u3, u1, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u4} σ R _inst_1) A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (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.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, max u4 u2, u3, max (max u4 u2) u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7 (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (AlgHom.algHomClass.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7))))) (MvPolynomial.aevalTower.{u4, u2, u1, u3} R σ _inst_1 S A _inst_3 _inst_4 _inst_6 _inst_7 g y) (FunLike.coe.{max (succ u4) (succ u2), succ u4, max (succ u4) (succ u2)} (AlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : R) => MvPolynomial.{u2, u4} σ R _inst_1) _x) (SMulHomClass.toFunLike.{max u4 u2, u1, u4, max u4 u2} (AlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)) S R (MvPolynomial.{u2, u4} σ R _inst_1) (SMulZeroClass.toSMul.{u1, u4} S R (AddMonoid.toZero.{u4} R (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u1, u4} S R (AddMonoid.toAddZeroClass.{u4} R (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u1, u4} S R (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6))))) (SMulZeroClass.toSMul.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toZero.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))))) (DistribSMul.toSMulZeroClass.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))))) (DistribMulAction.toDistribSMul.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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)))))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)))))) (DistribMulActionHomClass.toSMulHomClass.{max u4 u2, u1, u4, max u4 u2} (AlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)) S R (MvPolynomial.{u2, u4} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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)))))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u4 u2, u1, u4, max u4 u2} (AlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)) S R (MvPolynomial.{u2, u4} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, u4, max u4 u2, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) (AlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)) (AlgHom.algHomClass.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)))))) (IsScalarTower.toAlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 _inst_1 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u4, u4, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) (MvPolynomial.isScalarTower.{u1, u4, u4, u2} S R R σ (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) _inst_1 (Algebra.toSMul.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u4, u4} R R (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (IsScalarTower.right.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6))) x)) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : R) => A) _x) (SMulHomClass.toFunLike.{max u4 u3, u1, u4, u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) S R A (SMulZeroClass.toSMul.{u1, u4} S R (AddMonoid.toZero.{u4} R (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u1, u4} S R (AddMonoid.toAddZeroClass.{u4} R (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u1, u4} S R (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6))))) (SMulZeroClass.toSMul.{u1, u3} S A (AddMonoid.toZero.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribSMul.toSMulZeroClass.{u1, u3} S A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribMulAction.toDistribSMul.{u1, u3} S A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7))))) (DistribMulActionHomClass.toSMulHomClass.{max u4 u3, u1, u4, u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) S R A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u4 u3, u1, u4, u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) S R A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, u4, u3, max u4 u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7 (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) (AlgHom.algHomClass.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7))))) g x)
+ forall {R : Type.{u4}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u4} R] {S : Type.{u1}} {A : Type.{u3}} [_inst_3 : CommSemiring.{u1} S] [_inst_4 : CommSemiring.{u3} A] [_inst_6 : Algebra.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1)] [_inst_7 : Algebra.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4)] (g : AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) (y : σ -> A) (x : R), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u2, u4} σ R _inst_1) => A) (FunLike.coe.{max (succ u4) (succ u2), succ u4, max (succ u4) (succ u2)} (AlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : R) => MvPolynomial.{u2, u4} σ R _inst_1) a) (SMulHomClass.toFunLike.{max u4 u2, u1, u4, max u4 u2} (AlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)) S R (MvPolynomial.{u2, u4} σ R _inst_1) (SMulZeroClass.toSMul.{u1, u4} S R (AddMonoid.toZero.{u4} R (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u1, u4} S R (AddMonoid.toAddZeroClass.{u4} R (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u1, u4} S R (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6))))) (SMulZeroClass.toSMul.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toZero.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))))) (DistribSMul.toSMulZeroClass.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))))) (DistribMulAction.toDistribSMul.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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)))))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)))))) (DistribMulActionHomClass.toSMulHomClass.{max u4 u2, u1, u4, max u4 u2} (AlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)) S R (MvPolynomial.{u2, u4} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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)))))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u4 u2, u1, u4, max u4 u2} (AlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)) S R (MvPolynomial.{u2, u4} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, u4, max u4 u2, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) (AlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)) (AlgHom.algHomClass.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)))))) (IsScalarTower.toAlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 _inst_1 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u4, u4, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) (MvPolynomial.isScalarTower.{u1, u4, u4, u2} S R R σ _inst_1 (Algebra.toSMul.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6) (SMulWithZero.toSMulZeroClass.{u1, u4} S R (CommMonoidWithZero.toZero.{u1} S (CommSemiring.toCommMonoidWithZero.{u1} S _inst_3)) (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (MulActionWithZero.toSMulWithZero.{u1, u4} S R (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3)) (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (Module.toMulActionWithZero.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)))) (SMulWithZero.toSMulZeroClass.{u4, u4} R R (CommMonoidWithZero.toZero.{u4} R (CommSemiring.toCommMonoidWithZero.{u4} R _inst_1)) (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (MulActionWithZero.toSMulWithZero.{u4, u4} R R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (Module.toMulActionWithZero.{u4, u4} R R (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u4, u4} R R _inst_1 (CommSemiring.toSemiring.{u4} R _inst_1) (Algebra.id.{u4} R _inst_1))))) (IsScalarTower.right.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6))) x)) (FunLike.coe.{max (max (succ u4) (succ u2)) (succ u3), max (succ u4) (succ u2), succ u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (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) => A) _x) (SMulHomClass.toFunLike.{max (max u4 u2) u3, u1, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u4} σ R _inst_1) A (SMulZeroClass.toSMul.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toZero.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))))) (DistribSMul.toSMulZeroClass.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))))) (DistribMulAction.toDistribSMul.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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)))))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)))))) (SMulZeroClass.toSMul.{u1, u3} S A (AddMonoid.toZero.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribSMul.toSMulZeroClass.{u1, u3} S A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribMulAction.toDistribSMul.{u1, u3} S A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u2) u3, u1, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u4} σ R _inst_1) A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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)))))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u4 u2) u3, u1, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u4} σ R _inst_1) A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (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.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, max u4 u2, u3, max (max u4 u2) u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7 (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (AlgHom.algHomClass.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7))))) (MvPolynomial.aevalTower.{u4, u2, u1, u3} R σ _inst_1 S A _inst_3 _inst_4 _inst_6 _inst_7 g y) (FunLike.coe.{max (succ u4) (succ u2), succ u4, max (succ u4) (succ u2)} (AlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : R) => MvPolynomial.{u2, u4} σ R _inst_1) _x) (SMulHomClass.toFunLike.{max u4 u2, u1, u4, max u4 u2} (AlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)) S R (MvPolynomial.{u2, u4} σ R _inst_1) (SMulZeroClass.toSMul.{u1, u4} S R (AddMonoid.toZero.{u4} R (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u1, u4} S R (AddMonoid.toAddZeroClass.{u4} R (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u1, u4} S R (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6))))) (SMulZeroClass.toSMul.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toZero.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))))) (DistribSMul.toSMulZeroClass.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))))) (DistribMulAction.toDistribSMul.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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)))))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)))))) (DistribMulActionHomClass.toSMulHomClass.{max u4 u2, u1, u4, max u4 u2} (AlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)) S R (MvPolynomial.{u2, u4} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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)))))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u4 u2, u1, u4, max u4 u2} (AlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)) S R (MvPolynomial.{u2, u4} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, u4, max u4 u2, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) (AlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)) (AlgHom.algHomClass.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)))))) (IsScalarTower.toAlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 _inst_1 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u4, u4, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) (MvPolynomial.isScalarTower.{u1, u4, u4, u2} S R R σ _inst_1 (Algebra.toSMul.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6) (SMulWithZero.toSMulZeroClass.{u1, u4} S R (CommMonoidWithZero.toZero.{u1} S (CommSemiring.toCommMonoidWithZero.{u1} S _inst_3)) (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (MulActionWithZero.toSMulWithZero.{u1, u4} S R (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3)) (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (Module.toMulActionWithZero.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)))) (SMulWithZero.toSMulZeroClass.{u4, u4} R R (CommMonoidWithZero.toZero.{u4} R (CommSemiring.toCommMonoidWithZero.{u4} R _inst_1)) (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (MulActionWithZero.toSMulWithZero.{u4, u4} R R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (Module.toMulActionWithZero.{u4, u4} R R (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u4, u4} R R _inst_1 (CommSemiring.toSemiring.{u4} R _inst_1) (Algebra.id.{u4} R _inst_1))))) (IsScalarTower.right.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6))) x)) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : R) => A) _x) (SMulHomClass.toFunLike.{max u4 u3, u1, u4, u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) S R A (SMulZeroClass.toSMul.{u1, u4} S R (AddMonoid.toZero.{u4} R (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u1, u4} S R (AddMonoid.toAddZeroClass.{u4} R (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u1, u4} S R (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6))))) (SMulZeroClass.toSMul.{u1, u3} S A (AddMonoid.toZero.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribSMul.toSMulZeroClass.{u1, u3} S A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribMulAction.toDistribSMul.{u1, u3} S A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7))))) (DistribMulActionHomClass.toSMulHomClass.{max u4 u3, u1, u4, u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) S R A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u4 u3, u1, u4, u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) S R A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, u4, u3, max u4 u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7 (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) (AlgHom.algHomClass.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7))))) g x)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_tower_to_alg_hom MvPolynomial.aevalTower_toAlgHomₓ'. -/
theorem aevalTower_toAlgHom (x : R) :
aevalTower g y (IsScalarTower.toAlgHom S R (MvPolynomial σ R) x) = g x :=
@@ -2889,7 +2907,7 @@ theorem aevalTower_toAlgHom (x : R) :
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {S : Type.{u3}} {A : Type.{u4}} [_inst_3 : CommSemiring.{u3} S] [_inst_4 : CommSemiring.{u4} A] [_inst_6 : Algebra.{u3, u1} S R _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1)] [_inst_7 : Algebra.{u3, u4} S A _inst_3 (CommSemiring.toSemiring.{u4} A _inst_4)] (g : AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) (y : σ -> A), Eq.{max (succ u1) (succ u4)} (AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) (AlgHom.comp.{u3, u1, max u2 u1, u4} S R (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7 (MvPolynomial.aevalTower.{u1, u2, u3, u4} R σ _inst_1 S A _inst_3 _inst_4 _inst_6 _inst_7 g y) (IsScalarTower.toAlgHom.{u3, u1, max u2 u1} S R (MvPolynomial.{u2, u1} σ R _inst_1) _inst_3 _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) (MvPolynomial.isScalarTower.{u3, u1, u1, u2} S R R σ _inst_1 (SMulZeroClass.toHasSmul.{u3, u1} S R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (SMulWithZero.toSmulZeroClass.{u3, u1} S R (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3))))) (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (MulActionWithZero.toSMulWithZero.{u3, u1} S R (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3)) (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (Module.toMulActionWithZero.{u3, u1} S R (CommSemiring.toSemiring.{u3} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u3, u1} S R _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6))))) (SMulWithZero.toSmulZeroClass.{u3, u1} S R (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3))))) (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (MulActionWithZero.toSMulWithZero.{u3, u1} S R (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3)) (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Module.toMulActionWithZero.{u3, u1} S R (CommSemiring.toSemiring.{u3} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u3, u1} S R _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6)))) (SMulWithZero.toSmulZeroClass.{u1, u1} R R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (MulZeroClass.toSMulWithZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (IsScalarTower.right.{u3, u1} S R _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6)))) g
but is expected to have type
- forall {R : Type.{u4}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u4} R] {S : Type.{u2}} {A : Type.{u3}} [_inst_3 : CommSemiring.{u2} S] [_inst_4 : CommSemiring.{u3} A] [_inst_6 : Algebra.{u2, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1)] [_inst_7 : Algebra.{u2, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4)] (g : AlgHom.{u2, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) (y : σ -> A), Eq.{max (succ u4) (succ u3)} (AlgHom.{u2, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) (AlgHom.comp.{u2, u4, max u4 u1, u3} S R (MvPolynomial.{u1, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 (MvPolynomial.algebra.{u2, u4, u1} S R σ _inst_3 _inst_1 _inst_6) _inst_7 (MvPolynomial.aevalTower.{u4, u1, u2, u3} R σ _inst_1 S A _inst_3 _inst_4 _inst_6 _inst_7 g y) (IsScalarTower.toAlgHom.{u2, u4, max u4 u1} S R (MvPolynomial.{u1, u4} σ R _inst_1) _inst_3 _inst_1 (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u4, u4, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) (MvPolynomial.algebra.{u2, u4, u1} S R σ _inst_3 _inst_1 _inst_6) (MvPolynomial.isScalarTower.{u2, u4, u4, u1} S R R σ (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) _inst_1 (Algebra.toSMul.{u2, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6) (Module.toDistribMulAction.{u2, u4} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u2, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u4, u4} R R (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (IsScalarTower.right.{u2, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)))) g
+ forall {R : Type.{u4}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u4} R] {S : Type.{u2}} {A : Type.{u3}} [_inst_3 : CommSemiring.{u2} S] [_inst_4 : CommSemiring.{u3} A] [_inst_6 : Algebra.{u2, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1)] [_inst_7 : Algebra.{u2, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4)] (g : AlgHom.{u2, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) (y : σ -> A), Eq.{max (succ u4) (succ u3)} (AlgHom.{u2, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) (AlgHom.comp.{u2, u4, max u4 u1, u3} S R (MvPolynomial.{u1, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 (MvPolynomial.algebra.{u2, u4, u1} S R σ _inst_3 _inst_1 _inst_6) _inst_7 (MvPolynomial.aevalTower.{u4, u1, u2, u3} R σ _inst_1 S A _inst_3 _inst_4 _inst_6 _inst_7 g y) (IsScalarTower.toAlgHom.{u2, u4, max u4 u1} S R (MvPolynomial.{u1, u4} σ R _inst_1) _inst_3 _inst_1 (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u4, u4, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) (MvPolynomial.algebra.{u2, u4, u1} S R σ _inst_3 _inst_1 _inst_6) (MvPolynomial.isScalarTower.{u2, u4, u4, u1} S R R σ _inst_1 (Algebra.toSMul.{u2, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6) (SMulWithZero.toSMulZeroClass.{u2, u4} S R (CommMonoidWithZero.toZero.{u2} S (CommSemiring.toCommMonoidWithZero.{u2} S _inst_3)) (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (MulActionWithZero.toSMulWithZero.{u2, u4} S R (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3)) (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (Module.toMulActionWithZero.{u2, u4} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u2, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)))) (SMulWithZero.toSMulZeroClass.{u4, u4} R R (CommMonoidWithZero.toZero.{u4} R (CommSemiring.toCommMonoidWithZero.{u4} R _inst_1)) (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (MulActionWithZero.toSMulWithZero.{u4, u4} R R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (Module.toMulActionWithZero.{u4, u4} R R (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u4, u4} R R _inst_1 (CommSemiring.toSemiring.{u4} R _inst_1) (Algebra.id.{u4} R _inst_1))))) (IsScalarTower.right.{u2, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)))) g
Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_tower_comp_to_alg_hom MvPolynomial.aevalTower_comp_toAlgHomₓ'. -/
@[simp]
theorem aevalTower_comp_toAlgHom :
mathlib commit https://github.com/leanprover-community/mathlib/commit/738054fa93d43512da144ec45ce799d18fd44248
@@ -4,7 +4,7 @@ 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.basic
-! leanprover-community/mathlib commit f69db8cecc668e2d5894d7e9bfc491da60db3b9f
+! leanprover-community/mathlib commit 4e529b03dd62b7b7d13806c3fb974d9d4848910e
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -2926,6 +2926,43 @@ theorem aevalTower_ofId :
end AevalTower
+section EvalMem
+
+variable {S subS : Type _} [CommSemiring S] [SetLike subS S] [SubsemiringClass subS S]
+
+theorem eval₂_mem {f : R →+* S} {p : MvPolynomial σ R} {s : subS}
+ (hs : ∀ i ∈ p.support, f (p.coeff i) ∈ s) {v : σ → S} (hv : ∀ i, v i ∈ s) :
+ MvPolynomial.eval₂ f v p ∈ s := by
+ classical
+ replace hs : ∀ i, f (p.coeff i) ∈ s
+ · intro i
+ by_cases hi : i ∈ p.support
+ · exact hs i hi
+ · rw [MvPolynomial.not_mem_support_iff.1 hi, f.map_zero]
+ exact zero_mem s
+ induction' p using MvPolynomial.induction_on''' with a a b f ha hb0 ih generalizing hs
+ · simpa using hs 0
+ rw [eval₂_add, eval₂_monomial]
+ refine' add_mem (mul_mem _ <| prod_mem fun i hi => pow_mem (hv _) _) (ih fun i => _)
+ ·
+ simpa only [coeff_add, coeff_monomial, if_pos rfl, MvPolynomial.not_mem_support_iff.1 ha,
+ add_zero] using hs a
+ have := hs i
+ rw [coeff_add, coeff_monomial] at this
+ split_ifs at this with h h
+ · subst h
+ rw [MvPolynomial.not_mem_support_iff.1 ha, map_zero]
+ exact zero_mem _
+ · rwa [zero_add] at this
+#align mv_polynomial.eval₂_mem MvPolynomial.eval₂_mem
+
+theorem eval_mem {p : MvPolynomial σ S} {s : subS} (hs : ∀ i ∈ p.support, p.coeff i ∈ s) {v : σ → S}
+ (hv : ∀ i, v i ∈ s) : MvPolynomial.eval v p ∈ s :=
+ eval₂_mem hs hv
+#align mv_polynomial.eval_mem MvPolynomial.eval_mem
+
+end EvalMem
+
end CommSemiring
end MvPolynomial
mathlib commit https://github.com/leanprover-community/mathlib/commit/92c69b77c5a7dc0f7eeddb552508633305157caa
@@ -4,7 +4,7 @@ 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.basic
-! leanprover-community/mathlib commit 0b89934139d3be96f9dab477f10c20f9f93da580
+! leanprover-community/mathlib commit f69db8cecc668e2d5894d7e9bfc491da60db3b9f
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -120,23 +120,26 @@ instance [Monoid R] [CommSemiring S₁] [DistribMulAction R S₁] :
DistribMulAction R (MvPolynomial σ S₁) :=
AddMonoidAlgebra.distribMulAction
-instance [Monoid R] [CommSemiring S₁] [DistribMulAction R S₁] [FaithfulSMul R S₁] :
+instance [CommSemiring S₁] [SMulZeroClass R S₁] : SMulZeroClass R (MvPolynomial σ S₁) :=
+ AddMonoidAlgebra.smulZeroClass
+
+instance [CommSemiring S₁] [SMulZeroClass R S₁] [FaithfulSMul R S₁] :
FaithfulSMul R (MvPolynomial σ S₁) :=
AddMonoidAlgebra.faithfulSMul
instance [Semiring R] [CommSemiring S₁] [Module R S₁] : Module R (MvPolynomial σ S₁) :=
AddMonoidAlgebra.module
-instance [Monoid R] [Monoid S₁] [CommSemiring S₂] [SMul R S₁] [DistribMulAction R S₂]
- [DistribMulAction S₁ S₂] [IsScalarTower R S₁ S₂] : IsScalarTower R S₁ (MvPolynomial σ S₂) :=
+instance [CommSemiring S₂] [SMul R S₁] [SMulZeroClass R S₂] [SMulZeroClass S₁ S₂]
+ [IsScalarTower R S₁ S₂] : IsScalarTower R S₁ (MvPolynomial σ S₂) :=
AddMonoidAlgebra.isScalarTower
-instance [Monoid R] [Monoid S₁] [CommSemiring S₂] [DistribMulAction R S₂] [DistribMulAction S₁ S₂]
- [SMulCommClass R S₁ S₂] : SMulCommClass R S₁ (MvPolynomial σ S₂) :=
+instance [CommSemiring S₂] [SMulZeroClass R S₂] [SMulZeroClass S₁ S₂] [SMulCommClass R S₁ S₂] :
+ SMulCommClass R S₁ (MvPolynomial σ S₂) :=
AddMonoidAlgebra.sMulCommClass
-instance [Monoid R] [CommSemiring S₁] [DistribMulAction R S₁] [DistribMulAction Rᵐᵒᵖ S₁]
- [IsCentralScalar R S₁] : IsCentralScalar R (MvPolynomial σ S₁) :=
+instance [CommSemiring S₁] [SMulZeroClass R S₁] [SMulZeroClass Rᵐᵒᵖ S₁] [IsCentralScalar R S₁] :
+ IsCentralScalar R (MvPolynomial σ S₁) :=
AddMonoidAlgebra.isCentralScalar
instance [CommSemiring R] [CommSemiring S₁] [Algebra R S₁] : Algebra R (MvPolynomial σ S₁) :=
@@ -144,7 +147,7 @@ instance [CommSemiring R] [CommSemiring S₁] [Algebra R S₁] : Algebra R (MvPo
/- warning: mv_polynomial.is_scalar_tower' -> MvPolynomial.isScalarTower' is a dubious translation:
lean 3 declaration is
- forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : Algebra.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2)], IsScalarTower.{u1, max u3 u2, max u3 u2} R (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (SMulZeroClass.toHasSmul.{u1, max u3 u2} R (MvPolynomial.{u3, u2} σ S₁ _inst_2) (AddZeroClass.toHasZero.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (AddMonoid.toAddZeroClass.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (AddCommMonoid.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u1, max u3 u2} R (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (AddMonoid.toAddZeroClass.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (AddCommMonoid.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u1, max u3 u2} R (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (AddMonoid.toAddZeroClass.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (AddCommMonoid.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))))))) (Module.toMulActionWithZero.{u1, max u3 u2} R (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))))) (MvPolynomial.module.{u1, u2, u3} R S₁ σ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (Algebra.toModule.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) _inst_3)))))) (Mul.toSMul.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Distrib.toHasMul.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toDistrib.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))))))) (SMulZeroClass.toHasSmul.{u1, max u3 u2} R (MvPolynomial.{u3, u2} σ S₁ _inst_2) (AddZeroClass.toHasZero.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (AddMonoid.toAddZeroClass.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (AddCommMonoid.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u1, max u3 u2} R (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (AddMonoid.toAddZeroClass.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (AddCommMonoid.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u1, max u3 u2} R (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (AddMonoid.toAddZeroClass.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (AddCommMonoid.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))))))) (Module.toMulActionWithZero.{u1, max u3 u2} R (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))))) (MvPolynomial.module.{u1, u2, u3} R S₁ σ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (Algebra.toModule.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) _inst_3))))))
+ forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : Algebra.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2)], IsScalarTower.{u1, max u3 u2, max u3 u2} R (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (SMulZeroClass.toHasSmul.{u1, max u3 u2} R (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MulZeroClass.toHasZero.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMulZeroClass.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))))) (MvPolynomial.smulZeroClass.{u1, u2, u3} R S₁ σ _inst_2 (SMulWithZero.toSmulZeroClass.{u1, u2} R S₁ (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (MulZeroClass.toHasZero.{u2} S₁ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R S₁ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toHasZero.{u2} S₁ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R S₁ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))) (Algebra.toModule.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) _inst_3)))))) (Mul.toSMul.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Distrib.toHasMul.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toDistrib.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))))))) (SMulZeroClass.toHasSmul.{u1, max u3 u2} R (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MulZeroClass.toHasZero.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMulZeroClass.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))))) (MvPolynomial.smulZeroClass.{u1, u2, u3} R S₁ σ _inst_2 (SMulWithZero.toSmulZeroClass.{u1, u2} R S₁ (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (MulZeroClass.toHasZero.{u2} S₁ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R S₁ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toHasZero.{u2} S₁ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R S₁ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))) (Algebra.toModule.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) _inst_3))))))
but is expected to have type
forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : Algebra.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2)], IsScalarTower.{u1, max u2 u3, max u2 u3} R (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Algebra.toSMul.{u1, max u2 u3} R (MvPolynomial.{u3, u2} σ S₁ _inst_2) _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)) (MvPolynomial.algebra.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 _inst_3)) (Algebra.toSMul.{max u2 u3, max u2 u3} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)) (Algebra.id.{max u2 u3} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))) (Algebra.toSMul.{u1, max u2 u3} R (MvPolynomial.{u3, u2} σ S₁ _inst_2) _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)) (MvPolynomial.algebra.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 _inst_3))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.is_scalar_tower' MvPolynomial.isScalarTower'ₓ'. -/
@@ -380,7 +383,7 @@ theorem C_eq_coe_nat (n : ℕ) : (C ↑n : MvPolynomial σ R) = n := by
/- warning: mv_polynomial.C_mul' -> MvPolynomial.C_mul' is a dubious translation:
lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} {a : R} [_inst_1 : CommSemiring.{u1} R] {p : MvPolynomial.{u2, u1} σ R _inst_1}, Eq.{succ (max u2 u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a) p) (SMul.smul.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (SMulZeroClass.toHasSmul.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (AddZeroClass.toHasZero.{max u2 u1} (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)))))))) (SMulWithZero.toSmulZeroClass.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{max u2 u1} (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)))))))) (MulActionWithZero.toSMulWithZero.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{max u2 u1} (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)))))))) (Module.toMulActionWithZero.{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))))) (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))))))) a p)
+ forall {R : Type.{u1}} {σ : Type.{u2}} {a : R} [_inst_1 : CommSemiring.{u1} R] {p : MvPolynomial.{u2, u1} σ R _inst_1}, Eq.{succ (max u2 u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a) p) (SMul.smul.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (SMulZeroClass.toHasSmul.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (MulZeroClass.toHasZero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toMulZeroClass.{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)))))) (MvPolynomial.smulZeroClass.{u1, u1, u2} R R σ _inst_1 (SMulWithZero.toSmulZeroClass.{u1, u1} R R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (MulZeroClass.toSMulWithZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))) a p)
but is expected to have type
forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} [_inst_1 : CommSemiring.{u2} R] {p : MvPolynomial.{u1, u2} σ R _inst_1}, Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u1, u2} σ R _inst_1) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} 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 (_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) a) p) (HSMul.hSMul.{u2, max u2 u1, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (Algebra.toSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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)))) a p)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.C_mul' MvPolynomial.C_mul'ₓ'. -/
@@ -390,7 +393,7 @@ theorem C_mul' : MvPolynomial.C a * p = a • p :=
/- warning: mv_polynomial.smul_eq_C_mul -> MvPolynomial.smul_eq_C_mul is a dubious translation:
lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (p : MvPolynomial.{u2, u1} σ R _inst_1) (a : R), Eq.{succ (max u2 u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (SMul.smul.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (SMulZeroClass.toHasSmul.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (AddZeroClass.toHasZero.{max u2 u1} (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)))))))) (SMulWithZero.toSmulZeroClass.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{max u2 u1} (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)))))))) (MulActionWithZero.toSMulWithZero.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{max u2 u1} (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)))))))) (Module.toMulActionWithZero.{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))))) (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))))))) a p) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a) p)
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (p : MvPolynomial.{u2, u1} σ R _inst_1) (a : R), Eq.{succ (max u2 u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (SMul.smul.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (SMulZeroClass.toHasSmul.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (MulZeroClass.toHasZero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toMulZeroClass.{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)))))) (MvPolynomial.smulZeroClass.{u1, u1, u2} R R σ _inst_1 (SMulWithZero.toSmulZeroClass.{u1, u1} R R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (MulZeroClass.toSMulWithZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))) a p) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a) p)
but is expected to have type
forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (p : MvPolynomial.{u1, u2} σ R _inst_1) (a : R), Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u1, u2} σ R _inst_1) (HSMul.hSMul.{u2, max u2 u1, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (Algebra.toSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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)))) a p) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} 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 (_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) a) p)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.smul_eq_C_mul MvPolynomial.smul_eq_C_mulₓ'. -/
@@ -400,13 +403,18 @@ theorem smul_eq_C_mul (p : MvPolynomial σ R) (a : R) : a • p = C a * p :=
/- warning: mv_polynomial.C_eq_smul_one -> MvPolynomial.C_eq_smul_one is a dubious translation:
lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} {a : R} [_inst_1 : CommSemiring.{u1} R], Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a) (SMul.smul.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (SMulZeroClass.toHasSmul.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (AddZeroClass.toHasZero.{max u2 u1} (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)))))))) (SMulWithZero.toSmulZeroClass.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{max u2 u1} (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)))))))) (MulActionWithZero.toSMulWithZero.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{max u2 u1} (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)))))))) (Module.toMulActionWithZero.{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))))) (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))))))) a (OfNat.ofNat.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) 1 (OfNat.mk.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) 1 (One.one.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (AddMonoidWithOne.toOne.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (AddCommMonoidWithOne.toAddMonoidWithOne.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toAddCommMonoidWithOne.{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))))))))))
+ forall {R : Type.{u1}} {σ : Type.{u2}} {a : R} [_inst_1 : CommSemiring.{u1} R], Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a) (SMul.smul.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (SMulZeroClass.toHasSmul.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (MulZeroClass.toHasZero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toMulZeroClass.{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)))))) (MvPolynomial.smulZeroClass.{u1, u1, u2} R R σ _inst_1 (SMulWithZero.toSmulZeroClass.{u1, u1} R R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (MulZeroClass.toSMulWithZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))) a (OfNat.ofNat.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) 1 (OfNat.mk.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) 1 (One.one.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (AddMonoidWithOne.toOne.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (AddCommMonoidWithOne.toAddMonoidWithOne.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toAddCommMonoidWithOne.{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))))))))))
but is expected to have type
forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (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) a) (HSMul.hSMul.{u2, max u2 u1, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (Algebra.toSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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)))) a (OfNat.ofNat.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) 1 (One.toOfNat1.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toOne.{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))))))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.C_eq_smul_one MvPolynomial.C_eq_smul_oneₓ'. -/
theorem C_eq_smul_one : (C a : MvPolynomial σ R) = a • 1 := by rw [← C_mul', mul_one]
#align mv_polynomial.C_eq_smul_one MvPolynomial.C_eq_smul_one
+theorem smul_monomial {S₁ : Type _} [SMulZeroClass S₁ R] (r : S₁) :
+ r • monomial s a = monomial s (r • a) :=
+ Finsupp.smul_single _ _ _
+#align mv_polynomial.smul_monomial MvPolynomial.smul_monomial
+
/- warning: mv_polynomial.X_injective -> MvPolynomial.X_injective is a dubious translation:
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_3 : Nontrivial.{u1} R], Function.Injective.{succ u2, max (succ u2) (succ u1)} σ (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.X.{u1, u2} R σ _inst_1)
@@ -769,7 +777,7 @@ theorem is_id (f : MvPolynomial σ R →+* MvPolynomial σ R) (hC : f.comp C = C
/- warning: mv_polynomial.alg_hom_ext' -> MvPolynomial.algHom_ext' is a dubious translation:
lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {A : Type.{u3}} {B : Type.{u4}} [_inst_3 : CommSemiring.{u3} A] [_inst_4 : CommSemiring.{u4} B] [_inst_5 : Algebra.{u1, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3)] [_inst_6 : Algebra.{u1, u4} R B _inst_1 (CommSemiring.toSemiring.{u4} B _inst_4)] {f : AlgHom.{u1, max u2 u3, u4} R (MvPolynomial.{u2, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) (CommSemiring.toSemiring.{u4} B _inst_4) (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) _inst_6} {g : AlgHom.{u1, max u2 u3, u4} R (MvPolynomial.{u2, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) (CommSemiring.toSemiring.{u4} B _inst_4) (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) _inst_6}, (Eq.{max (succ u3) (succ u4)} (AlgHom.{u1, u3, u4} R A B _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) (CommSemiring.toSemiring.{u4} B _inst_4) _inst_5 _inst_6) (AlgHom.comp.{u1, u3, max u2 u3, u4} R A (MvPolynomial.{u2, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) (CommSemiring.toSemiring.{u4} B _inst_4) _inst_5 (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) _inst_6 f (IsScalarTower.toAlgHom.{u1, u3, max u2 u3} R A (MvPolynomial.{u2, u3} σ A _inst_3) _inst_1 _inst_3 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) _inst_5 (MvPolynomial.algebra.{u3, u3, u2} A A σ _inst_3 _inst_3 (Algebra.id.{u3} A _inst_3)) (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) (MvPolynomial.isScalarTower.{u1, u3, u3, u2} R A A σ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u3} A (Semiring.toMonoidWithZero.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))) _inst_3 (SMulZeroClass.toHasSmul.{u1, u3} R A (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))))))) (SMulWithZero.toSmulZeroClass.{u1, u3} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))))))) (MulActionWithZero.toSMulWithZero.{u1, u3} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))))))) (Module.toMulActionWithZero.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3)))) (Algebra.toModule.{u1, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5))))) (Module.toDistribMulAction.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3)))) (Algebra.toModule.{u1, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5)) (Module.toDistribMulAction.{u3, u3} A A (CommSemiring.toSemiring.{u3} A _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3)))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))) (IsScalarTower.right.{u1, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5)))) (AlgHom.comp.{u1, u3, max u2 u3, u4} R A (MvPolynomial.{u2, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) (CommSemiring.toSemiring.{u4} B _inst_4) _inst_5 (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) _inst_6 g (IsScalarTower.toAlgHom.{u1, u3, max u2 u3} R A (MvPolynomial.{u2, u3} σ A _inst_3) _inst_1 _inst_3 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) _inst_5 (MvPolynomial.algebra.{u3, u3, u2} A A σ _inst_3 _inst_3 (Algebra.id.{u3} A _inst_3)) (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) (MvPolynomial.isScalarTower.{u1, u3, u3, u2} R A A σ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u3} A (Semiring.toMonoidWithZero.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))) _inst_3 (SMulZeroClass.toHasSmul.{u1, u3} R A (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))))))) (SMulWithZero.toSmulZeroClass.{u1, u3} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))))))) (MulActionWithZero.toSMulWithZero.{u1, u3} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))))))) (Module.toMulActionWithZero.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3)))) (Algebra.toModule.{u1, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5))))) (Module.toDistribMulAction.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3)))) (Algebra.toModule.{u1, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5)) (Module.toDistribMulAction.{u3, u3} A A (CommSemiring.toSemiring.{u3} A _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3)))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))) (IsScalarTower.right.{u1, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5))))) -> (forall (i : σ), Eq.{succ u4} B (coeFn.{max (succ (max u2 u3)) (succ u4), max (succ (max u2 u3)) (succ u4)} (AlgHom.{u1, max u2 u3, u4} R (MvPolynomial.{u2, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) (CommSemiring.toSemiring.{u4} B _inst_4) (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) _inst_6) (fun (_x : AlgHom.{u1, max u2 u3, u4} R (MvPolynomial.{u2, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) (CommSemiring.toSemiring.{u4} B _inst_4) (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) _inst_6) => (MvPolynomial.{u2, u3} σ A _inst_3) -> B) ([anonymous].{u1, max u2 u3, u4} R (MvPolynomial.{u2, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) (CommSemiring.toSemiring.{u4} B _inst_4) (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) _inst_6) f (MvPolynomial.X.{u3, u2} A σ _inst_3 i)) (coeFn.{max (succ (max u2 u3)) (succ u4), max (succ (max u2 u3)) (succ u4)} (AlgHom.{u1, max u2 u3, u4} R (MvPolynomial.{u2, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) (CommSemiring.toSemiring.{u4} B _inst_4) (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) _inst_6) (fun (_x : AlgHom.{u1, max u2 u3, u4} R (MvPolynomial.{u2, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) (CommSemiring.toSemiring.{u4} B _inst_4) (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) _inst_6) => (MvPolynomial.{u2, u3} σ A _inst_3) -> B) ([anonymous].{u1, max u2 u3, u4} R (MvPolynomial.{u2, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) (CommSemiring.toSemiring.{u4} B _inst_4) (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) _inst_6) g (MvPolynomial.X.{u3, u2} A σ _inst_3 i))) -> (Eq.{max (succ (max u2 u3)) (succ u4)} (AlgHom.{u1, max u2 u3, u4} R (MvPolynomial.{u2, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) (CommSemiring.toSemiring.{u4} B _inst_4) (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) _inst_6) f g)
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {A : Type.{u3}} {B : Type.{u4}} [_inst_3 : CommSemiring.{u3} A] [_inst_4 : CommSemiring.{u4} B] [_inst_5 : Algebra.{u1, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3)] [_inst_6 : Algebra.{u1, u4} R B _inst_1 (CommSemiring.toSemiring.{u4} B _inst_4)] {f : AlgHom.{u1, max u2 u3, u4} R (MvPolynomial.{u2, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) (CommSemiring.toSemiring.{u4} B _inst_4) (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) _inst_6} {g : AlgHom.{u1, max u2 u3, u4} R (MvPolynomial.{u2, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) (CommSemiring.toSemiring.{u4} B _inst_4) (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) _inst_6}, (Eq.{max (succ u3) (succ u4)} (AlgHom.{u1, u3, u4} R A B _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) (CommSemiring.toSemiring.{u4} B _inst_4) _inst_5 _inst_6) (AlgHom.comp.{u1, u3, max u2 u3, u4} R A (MvPolynomial.{u2, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) (CommSemiring.toSemiring.{u4} B _inst_4) _inst_5 (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) _inst_6 f (IsScalarTower.toAlgHom.{u1, u3, max u2 u3} R A (MvPolynomial.{u2, u3} σ A _inst_3) _inst_1 _inst_3 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) _inst_5 (MvPolynomial.algebra.{u3, u3, u2} A A σ _inst_3 _inst_3 (Algebra.id.{u3} A _inst_3)) (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) (MvPolynomial.isScalarTower.{u1, u3, u3, u2} R A A σ _inst_3 (SMulZeroClass.toHasSmul.{u1, u3} R A (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))))))) (SMulWithZero.toSmulZeroClass.{u1, u3} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))))))) (MulActionWithZero.toSMulWithZero.{u1, u3} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))))))) (Module.toMulActionWithZero.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3)))) (Algebra.toModule.{u1, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5))))) (SMulWithZero.toSmulZeroClass.{u1, u3} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (MulZeroClass.toHasZero.{u3} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u3} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toHasZero.{u3} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))))) (Module.toMulActionWithZero.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3)))) (Algebra.toModule.{u1, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5)))) (SMulWithZero.toSmulZeroClass.{u3, u3} A A (MulZeroClass.toHasZero.{u3} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))))) (MulZeroClass.toHasZero.{u3} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))))) (MulZeroClass.toSMulWithZero.{u3} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3)))))) (IsScalarTower.right.{u1, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5)))) (AlgHom.comp.{u1, u3, max u2 u3, u4} R A (MvPolynomial.{u2, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) (CommSemiring.toSemiring.{u4} B _inst_4) _inst_5 (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) _inst_6 g (IsScalarTower.toAlgHom.{u1, u3, max u2 u3} R A (MvPolynomial.{u2, u3} σ A _inst_3) _inst_1 _inst_3 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) _inst_5 (MvPolynomial.algebra.{u3, u3, u2} A A σ _inst_3 _inst_3 (Algebra.id.{u3} A _inst_3)) (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) (MvPolynomial.isScalarTower.{u1, u3, u3, u2} R A A σ _inst_3 (SMulZeroClass.toHasSmul.{u1, u3} R A (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))))))) (SMulWithZero.toSmulZeroClass.{u1, u3} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))))))) (MulActionWithZero.toSMulWithZero.{u1, u3} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))))))) (Module.toMulActionWithZero.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3)))) (Algebra.toModule.{u1, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5))))) (SMulWithZero.toSmulZeroClass.{u1, u3} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (MulZeroClass.toHasZero.{u3} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u3} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toHasZero.{u3} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))))) (Module.toMulActionWithZero.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3)))) (Algebra.toModule.{u1, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5)))) (SMulWithZero.toSmulZeroClass.{u3, u3} A A (MulZeroClass.toHasZero.{u3} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))))) (MulZeroClass.toHasZero.{u3} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))))) (MulZeroClass.toSMulWithZero.{u3} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3)))))) (IsScalarTower.right.{u1, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5))))) -> (forall (i : σ), Eq.{succ u4} B (coeFn.{max (succ (max u2 u3)) (succ u4), max (succ (max u2 u3)) (succ u4)} (AlgHom.{u1, max u2 u3, u4} R (MvPolynomial.{u2, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) (CommSemiring.toSemiring.{u4} B _inst_4) (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) _inst_6) (fun (_x : AlgHom.{u1, max u2 u3, u4} R (MvPolynomial.{u2, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) (CommSemiring.toSemiring.{u4} B _inst_4) (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) _inst_6) => (MvPolynomial.{u2, u3} σ A _inst_3) -> B) ([anonymous].{u1, max u2 u3, u4} R (MvPolynomial.{u2, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) (CommSemiring.toSemiring.{u4} B _inst_4) (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) _inst_6) f (MvPolynomial.X.{u3, u2} A σ _inst_3 i)) (coeFn.{max (succ (max u2 u3)) (succ u4), max (succ (max u2 u3)) (succ u4)} (AlgHom.{u1, max u2 u3, u4} R (MvPolynomial.{u2, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) (CommSemiring.toSemiring.{u4} B _inst_4) (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) _inst_6) (fun (_x : AlgHom.{u1, max u2 u3, u4} R (MvPolynomial.{u2, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) (CommSemiring.toSemiring.{u4} B _inst_4) (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) _inst_6) => (MvPolynomial.{u2, u3} σ A _inst_3) -> B) ([anonymous].{u1, max u2 u3, u4} R (MvPolynomial.{u2, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) (CommSemiring.toSemiring.{u4} B _inst_4) (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) _inst_6) g (MvPolynomial.X.{u3, u2} A σ _inst_3 i))) -> (Eq.{max (succ (max u2 u3)) (succ u4)} (AlgHom.{u1, max u2 u3, u4} R (MvPolynomial.{u2, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) (CommSemiring.toSemiring.{u4} B _inst_4) (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) _inst_6) f g)
but is expected to have type
forall {R : Type.{u4}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u4} R] {A : Type.{u3}} {B : Type.{u2}} [_inst_3 : CommSemiring.{u3} A] [_inst_4 : CommSemiring.{u2} B] [_inst_5 : Algebra.{u4, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3)] [_inst_6 : Algebra.{u4, u2} R B _inst_1 (CommSemiring.toSemiring.{u2} B _inst_4)] {f : AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6} {g : AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6}, (Eq.{max (succ u3) (succ u2)} (AlgHom.{u4, u3, u2} R A B _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) (CommSemiring.toSemiring.{u2} B _inst_4) _inst_5 _inst_6) (AlgHom.comp.{u4, u3, max u1 u3, u2} R A (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) _inst_5 (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6 f (IsScalarTower.toAlgHom.{u4, u3, max u3 u1} R A (MvPolynomial.{u1, u3} σ A _inst_3) _inst_1 _inst_3 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) _inst_5 (MvPolynomial.algebra.{u3, u3, u1} A A σ _inst_3 _inst_3 (Algebra.id.{u3} A _inst_3)) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) (MvPolynomial.isScalarTower.{u4, u3, u3, u1} R A A σ (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (MonoidWithZero.toMonoid.{u3} A (Semiring.toMonoidWithZero.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))) _inst_3 (Algebra.toSMul.{u4, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5) (Module.toDistribMulAction.{u4, u3} R A (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3)))) (Algebra.toModule.{u4, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5)) (Module.toDistribMulAction.{u3, u3} A A (CommSemiring.toSemiring.{u3} A _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3)))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))) (IsScalarTower.right.{u4, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5)))) (AlgHom.comp.{u4, u3, max u1 u3, u2} R A (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) _inst_5 (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6 g (IsScalarTower.toAlgHom.{u4, u3, max u3 u1} R A (MvPolynomial.{u1, u3} σ A _inst_3) _inst_1 _inst_3 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) _inst_5 (MvPolynomial.algebra.{u3, u3, u1} A A σ _inst_3 _inst_3 (Algebra.id.{u3} A _inst_3)) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) (MvPolynomial.isScalarTower.{u4, u3, u3, u1} R A A σ (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (MonoidWithZero.toMonoid.{u3} A (Semiring.toMonoidWithZero.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))) _inst_3 (Algebra.toSMul.{u4, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5) (Module.toDistribMulAction.{u4, u3} R A (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3)))) (Algebra.toModule.{u4, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5)) (Module.toDistribMulAction.{u3, u3} A A (CommSemiring.toSemiring.{u3} A _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3)))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))) (IsScalarTower.right.{u4, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5))))) -> (forall (i : σ), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u3} σ A _inst_3) => B) (MvPolynomial.X.{u3, u1} A σ _inst_3 i)) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), max (succ u1) (succ u3), succ u2} (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) (MvPolynomial.{u1, u3} σ A _inst_3) (fun (_x : MvPolynomial.{u1, u3} σ A _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u3} σ A _inst_3) => B) _x) (SMulHomClass.toFunLike.{max (max u1 u3) u2, u4, max u1 u3, u2} (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) R (MvPolynomial.{u1, u3} σ A _inst_3) B (SMulZeroClass.toSMul.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (AddMonoid.toZero.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3))))))) (DistribSMul.toSMulZeroClass.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (AddMonoid.toAddZeroClass.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3))))))) (DistribMulAction.toDistribSMul.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)))))) (Module.toDistribMulAction.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3))))) (Algebra.toModule.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5)))))) (SMulZeroClass.toSMul.{u4, u2} R B (AddMonoid.toZero.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4)))))) (DistribSMul.toSMulZeroClass.{u4, u2} R B (AddMonoid.toAddZeroClass.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4)))))) (DistribMulAction.toDistribSMul.{u4, u2} R B (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4))))) (Module.toDistribMulAction.{u4, u2} R B (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4)))) (Algebra.toModule.{u4, u2} R B _inst_1 (CommSemiring.toSemiring.{u2} B _inst_4) _inst_6))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u3) u2, u4, max u1 u3, u2} (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) R (MvPolynomial.{u1, u3} σ A _inst_3) B (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)))))) (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4))))) (Module.toDistribMulAction.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3))))) (Algebra.toModule.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5))) (Module.toDistribMulAction.{u4, u2} R B (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4)))) (Algebra.toModule.{u4, u2} R B _inst_1 (CommSemiring.toSemiring.{u2} B _inst_4) _inst_6)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u1 u3) u2, u4, max u1 u3, u2} (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) R (MvPolynomial.{u1, u3} σ A _inst_3) B (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4))) (Module.toDistribMulAction.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3))))) (Algebra.toModule.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5))) (Module.toDistribMulAction.{u4, u2} R B (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4)))) (Algebra.toModule.{u4, u2} R B _inst_1 (CommSemiring.toSemiring.{u2} B _inst_4) _inst_6)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u4, max u1 u3, u2, max (max u1 u3) u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6 (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) (AlgHom.algHomClass.{u4, max u1 u3, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6))))) f (MvPolynomial.X.{u3, u1} A σ _inst_3 i)) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), max (succ u1) (succ u3), succ u2} (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) (MvPolynomial.{u1, u3} σ A _inst_3) (fun (_x : MvPolynomial.{u1, u3} σ A _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u3} σ A _inst_3) => B) _x) (SMulHomClass.toFunLike.{max (max u1 u3) u2, u4, max u1 u3, u2} (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) R (MvPolynomial.{u1, u3} σ A _inst_3) B (SMulZeroClass.toSMul.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (AddMonoid.toZero.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3))))))) (DistribSMul.toSMulZeroClass.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (AddMonoid.toAddZeroClass.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3))))))) (DistribMulAction.toDistribSMul.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)))))) (Module.toDistribMulAction.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3))))) (Algebra.toModule.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5)))))) (SMulZeroClass.toSMul.{u4, u2} R B (AddMonoid.toZero.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4)))))) (DistribSMul.toSMulZeroClass.{u4, u2} R B (AddMonoid.toAddZeroClass.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4)))))) (DistribMulAction.toDistribSMul.{u4, u2} R B (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4))))) (Module.toDistribMulAction.{u4, u2} R B (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4)))) (Algebra.toModule.{u4, u2} R B _inst_1 (CommSemiring.toSemiring.{u2} B _inst_4) _inst_6))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u3) u2, u4, max u1 u3, u2} (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) R (MvPolynomial.{u1, u3} σ A _inst_3) B (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)))))) (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4))))) (Module.toDistribMulAction.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3))))) (Algebra.toModule.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5))) (Module.toDistribMulAction.{u4, u2} R B (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4)))) (Algebra.toModule.{u4, u2} R B _inst_1 (CommSemiring.toSemiring.{u2} B _inst_4) _inst_6)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u1 u3) u2, u4, max u1 u3, u2} (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) R (MvPolynomial.{u1, u3} σ A _inst_3) B (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4))) (Module.toDistribMulAction.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3))))) (Algebra.toModule.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5))) (Module.toDistribMulAction.{u4, u2} R B (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4)))) (Algebra.toModule.{u4, u2} R B _inst_1 (CommSemiring.toSemiring.{u2} B _inst_4) _inst_6)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u4, max u1 u3, u2, max (max u1 u3) u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6 (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) (AlgHom.algHomClass.{u4, max u1 u3, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6))))) g (MvPolynomial.X.{u3, u1} A σ _inst_3 i))) -> (Eq.{max (max (succ u1) (succ u3)) (succ u2)} (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) f g)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.alg_hom_ext' MvPolynomial.algHom_ext'ₓ'. -/
@@ -919,11 +927,11 @@ theorem support_zero : (0 : MvPolynomial σ R).support = ∅ :=
/- warning: mv_polynomial.support_smul -> MvPolynomial.support_smul is a dubious translation:
lean 3 declaration is
- forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : DistribMulAction.{u1, u2} R S₁ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddMonoidWithOne.toAddMonoid.{u2} S₁ (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} S₁ (NonAssocSemiring.toAddCommMonoidWithOne.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))))] {a : R} {f : MvPolynomial.{u3, u2} σ S₁ _inst_2}, HasSubset.Subset.{u3} (Finset.{u3} (Finsupp.{u3, 0} σ Nat Nat.hasZero)) (Finset.hasSubset.{u3} (Finsupp.{u3, 0} σ Nat Nat.hasZero)) (MvPolynomial.support.{u2, u3} S₁ σ _inst_2 (SMul.smul.{u1, max u3 u2} R (MvPolynomial.{u3, u2} σ S₁ _inst_2) (SMulZeroClass.toHasSmul.{u1, max u3 u2} R (MvPolynomial.{u3, u2} σ S₁ _inst_2) (AddZeroClass.toHasZero.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (AddMonoid.toAddZeroClass.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (AddMonoidWithOne.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (AddCommMonoidWithOne.toAddMonoidWithOne.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonAssocSemiring.toAddCommMonoidWithOne.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))))))) (DistribSMul.toSmulZeroClass.{u1, max u3 u2} R (MvPolynomial.{u3, u2} σ S₁ _inst_2) (AddMonoid.toAddZeroClass.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (AddMonoidWithOne.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (AddCommMonoidWithOne.toAddMonoidWithOne.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonAssocSemiring.toAddCommMonoidWithOne.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))))))) (DistribMulAction.toDistribSMul.{u1, max u3 u2} R (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddMonoidWithOne.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (AddCommMonoidWithOne.toAddMonoidWithOne.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonAssocSemiring.toAddCommMonoidWithOne.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))))) (MvPolynomial.distribMulAction.{u1, u2, u3} R S₁ σ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) _inst_2 _inst_3)))) a f)) (MvPolynomial.support.{u2, u3} S₁ σ _inst_2 f)
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {S₁ : Type.{u3}} [_inst_3 : SMulZeroClass.{u3, u1} S₁ R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))] {a : S₁} {f : MvPolynomial.{u2, u1} σ R _inst_1}, HasSubset.Subset.{u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasSubset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (MvPolynomial.support.{u1, u2} R σ _inst_1 (SMul.smul.{u3, max u2 u1} S₁ (MvPolynomial.{u2, u1} σ R _inst_1) (SMulZeroClass.toHasSmul.{u3, max u2 u1} S₁ (MvPolynomial.{u2, u1} σ R _inst_1) (MulZeroClass.toHasZero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toMulZeroClass.{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)))))) (MvPolynomial.smulZeroClass.{u3, u1, u2} S₁ R σ _inst_1 _inst_3)) a f)) (MvPolynomial.support.{u1, u2} R σ _inst_1 f)
but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : DistribMulAction.{u2, u3} R S₁ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddMonoidWithOne.toAddMonoid.{u3} S₁ (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} S₁ (NonAssocSemiring.toAddCommMonoidWithOne.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))] {a : R} {f : MvPolynomial.{u1, u3} σ S₁ _inst_2}, HasSubset.Subset.{u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instHasSubsetFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.support.{u3, u1} S₁ σ _inst_2 (HSMul.hSMul.{u2, max u3 u1, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (instHSMul.{u2, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (SMulZeroClass.toSMul.{u2, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (CommMonoidWithZero.toZero.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (CommSemiring.toCommMonoidWithZero.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u3, u1} S₁ σ _inst_2))) (DistribSMul.toSMulZeroClass.{u2, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (AddMonoid.toAddZeroClass.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (AddMonoidWithOne.toAddMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (AddCommMonoidWithOne.toAddMonoidWithOne.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toAddCommMonoidWithOne.{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))))))) (DistribMulAction.toDistribSMul.{u2, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddMonoidWithOne.toAddMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (AddCommMonoidWithOne.toAddMonoidWithOne.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toAddCommMonoidWithOne.{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)))))) (MvPolynomial.distribuMulAction.{u2, u3, u1} R S₁ σ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) _inst_2 _inst_3))))) a f)) (MvPolynomial.support.{u3, u1} S₁ σ _inst_2 f)
+ forall {R : Type.{u2}} {σ : Type.{u3}} {_inst_1 : Type.{u1}} [S₁ : CommSemiring.{u2} R] [_inst_3 : CommSemiring.{u3} σ] [a : DistribMulAction.{u2, u3} R σ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R S₁))) (AddMonoidWithOne.toAddMonoid.{u3} σ (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} σ (NonAssocSemiring.toAddCommMonoidWithOne.{u3} σ (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ _inst_3)))))] {f : R} {f_1 : MvPolynomial.{u1, u3} _inst_1 σ _inst_3}, HasSubset.Subset.{u1} (Finset.{u1} (Finsupp.{u1, 0} _inst_1 Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instHasSubsetFinset.{u1} (Finsupp.{u1, 0} _inst_1 Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.support.{u3, u1} σ _inst_1 _inst_3 (HSMul.hSMul.{u2, max u3 u1, max u3 u1} R (MvPolynomial.{u1, u3} _inst_1 σ _inst_3) (MvPolynomial.{u1, u3} _inst_1 σ _inst_3) (instHSMul.{u2, max u3 u1} R (MvPolynomial.{u1, u3} _inst_1 σ _inst_3) (SMulZeroClass.toSMul.{u2, max u3 u1} R (MvPolynomial.{u1, u3} _inst_1 σ _inst_3) (CommMonoidWithZero.toZero.{max u3 u1} (MvPolynomial.{u1, u3} _inst_1 σ _inst_3) (CommSemiring.toCommMonoidWithZero.{max u3 u1} (MvPolynomial.{u1, u3} _inst_1 σ _inst_3) (MvPolynomial.commSemiring.{u3, u1} σ _inst_1 _inst_3))) (DistribSMul.toSMulZeroClass.{u2, max u3 u1} R (MvPolynomial.{u1, u3} _inst_1 σ _inst_3) (AddMonoid.toAddZeroClass.{max u3 u1} (MvPolynomial.{u1, u3} _inst_1 σ _inst_3) (AddMonoidWithOne.toAddMonoid.{max u3 u1} (MvPolynomial.{u1, u3} _inst_1 σ _inst_3) (AddCommMonoidWithOne.toAddMonoidWithOne.{max u3 u1} (MvPolynomial.{u1, u3} _inst_1 σ _inst_3) (NonAssocSemiring.toAddCommMonoidWithOne.{max u3 u1} (MvPolynomial.{u1, u3} _inst_1 σ _inst_3) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_1 σ _inst_3) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_1 σ _inst_3) (MvPolynomial.commSemiring.{u3, u1} σ _inst_1 _inst_3))))))) (DistribMulAction.toDistribSMul.{u2, max u3 u1} R (MvPolynomial.{u1, u3} _inst_1 σ _inst_3) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R S₁))) (AddMonoidWithOne.toAddMonoid.{max u3 u1} (MvPolynomial.{u1, u3} _inst_1 σ _inst_3) (AddCommMonoidWithOne.toAddMonoidWithOne.{max u3 u1} (MvPolynomial.{u1, u3} _inst_1 σ _inst_3) (NonAssocSemiring.toAddCommMonoidWithOne.{max u3 u1} (MvPolynomial.{u1, u3} _inst_1 σ _inst_3) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_1 σ _inst_3) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_1 σ _inst_3) (MvPolynomial.commSemiring.{u3, u1} σ _inst_1 _inst_3)))))) (MvPolynomial.distribuMulAction.{u2, u3, u1} R σ _inst_1 (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R S₁))) _inst_3 a))))) f f_1)) (MvPolynomial.support.{u3, u1} σ _inst_1 _inst_3 f_1)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.support_smul MvPolynomial.support_smulₓ'. -/
-theorem support_smul [DistribMulAction R S₁] {a : R} {f : MvPolynomial σ S₁} :
+theorem support_smul {S₁ : Type _} [SMulZeroClass S₁ R] {a : S₁} {f : MvPolynomial σ R} :
(a • f).support ⊆ f.support :=
Finsupp.support_smul
#align mv_polynomial.support_smul MvPolynomial.support_smul
@@ -1026,13 +1034,13 @@ theorem coeff_add (m : σ →₀ ℕ) (p q : MvPolynomial σ R) : coeff m (p + q
/- warning: mv_polynomial.coeff_smul -> MvPolynomial.coeff_smul is a dubious translation:
lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {S₁ : Type.{u3}} [_inst_3 : Monoid.{u3} S₁] [_inst_4 : DistribMulAction.{u3, u1} S₁ R _inst_3 (AddMonoidWithOne.toAddMonoid.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))] (m : Finsupp.{u2, 0} σ Nat Nat.hasZero) (c : S₁) (p : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m (SMul.smul.{u3, max u2 u1} S₁ (MvPolynomial.{u2, u1} σ R _inst_1) (SMulZeroClass.toHasSmul.{u3, max u2 u1} S₁ (MvPolynomial.{u2, u1} σ R _inst_1) (AddZeroClass.toHasZero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (AddMonoidWithOne.toAddMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (AddCommMonoidWithOne.toAddMonoidWithOne.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toAddCommMonoidWithOne.{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.{u3, max u2 u1} S₁ (MvPolynomial.{u2, u1} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (AddMonoidWithOne.toAddMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (AddCommMonoidWithOne.toAddMonoidWithOne.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toAddCommMonoidWithOne.{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.{u3, max u2 u1} S₁ (MvPolynomial.{u2, u1} σ R _inst_1) _inst_3 (AddMonoidWithOne.toAddMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (AddCommMonoidWithOne.toAddMonoidWithOne.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toAddCommMonoidWithOne.{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)))))) (MvPolynomial.distribMulAction.{u3, u1, u2} S₁ R σ _inst_3 _inst_1 _inst_4)))) c p)) (SMul.smul.{u3, u1} S₁ R (SMulZeroClass.toHasSmul.{u3, u1} S₁ R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddMonoidWithOne.toAddMonoid.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (DistribSMul.toSmulZeroClass.{u3, u1} S₁ R (AddMonoid.toAddZeroClass.{u1} R (AddMonoidWithOne.toAddMonoid.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u3, u1} S₁ R _inst_3 (AddMonoidWithOne.toAddMonoid.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) _inst_4))) c (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m p))
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {S₁ : Type.{u3}} [_inst_3 : SMulZeroClass.{u3, u1} S₁ R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))] (m : Finsupp.{u2, 0} σ Nat Nat.hasZero) (c : S₁) (p : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m (SMul.smul.{u3, max u2 u1} S₁ (MvPolynomial.{u2, u1} σ R _inst_1) (SMulZeroClass.toHasSmul.{u3, max u2 u1} S₁ (MvPolynomial.{u2, u1} σ R _inst_1) (MulZeroClass.toHasZero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toMulZeroClass.{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)))))) (MvPolynomial.smulZeroClass.{u3, u1, u2} S₁ R σ _inst_1 _inst_3)) c p)) (SMul.smul.{u3, u1} S₁ R (SMulZeroClass.toHasSmul.{u3, u1} S₁ R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) _inst_3) c (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m p))
but is expected to have type
- forall {R : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] {S₁ : Type.{u2}} [_inst_3 : Monoid.{u2} S₁] [_inst_4 : DistribMulAction.{u2, u3} S₁ R _inst_3 (AddMonoidWithOne.toAddMonoid.{u3} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} R (NonAssocSemiring.toAddCommMonoidWithOne.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))))] (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (c : S₁) (p : MvPolynomial.{u1, u3} σ R _inst_1), Eq.{succ u3} R (MvPolynomial.coeff.{u3, u1} R σ _inst_1 m (HSMul.hSMul.{u2, max u3 u1, max u3 u1} S₁ (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u1, u3} σ R _inst_1) (instHSMul.{u2, max u3 u1} S₁ (MvPolynomial.{u1, u3} σ R _inst_1) (SMulZeroClass.toSMul.{u2, max u3 u1} S₁ (MvPolynomial.{u1, u3} σ R _inst_1) (CommMonoidWithZero.toZero.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toCommMonoidWithZero.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (DistribSMul.toSMulZeroClass.{u2, max u3 u1} S₁ (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoidWithOne.toAddMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoidWithOne.toAddMonoidWithOne.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toAddCommMonoidWithOne.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u2, max u3 u1} S₁ (MvPolynomial.{u1, u3} σ R _inst_1) _inst_3 (AddMonoidWithOne.toAddMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoidWithOne.toAddMonoidWithOne.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toAddCommMonoidWithOne.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (MvPolynomial.distribuMulAction.{u2, u3, u1} S₁ R σ _inst_3 _inst_1 _inst_4))))) c p)) (HSMul.hSMul.{u2, u3, u3} S₁ R R (instHSMul.{u2, u3} S₁ R (SMulZeroClass.toSMul.{u2, u3} S₁ R (CommMonoidWithZero.toZero.{u3} R (CommSemiring.toCommMonoidWithZero.{u3} R _inst_1)) (DistribSMul.toSMulZeroClass.{u2, u3} S₁ R (AddMonoid.toAddZeroClass.{u3} R (AddMonoidWithOne.toAddMonoid.{u3} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} R (NonAssocSemiring.toAddCommMonoidWithOne.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u2, u3} S₁ R _inst_3 (AddMonoidWithOne.toAddMonoid.{u3} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} R (NonAssocSemiring.toAddCommMonoidWithOne.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) _inst_4)))) c (MvPolynomial.coeff.{u3, u1} R σ _inst_1 m p))
+ forall {R : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] {S₁ : Type.{u2}} [_inst_3 : Monoid.{u2} S₁] [m : DistribMulAction.{u2, u3} S₁ R _inst_3 (AddMonoidWithOne.toAddMonoid.{u3} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} R (NonAssocSemiring.toAddCommMonoidWithOne.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))))] (c : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (p : S₁) (p_1 : MvPolynomial.{u1, u3} σ R _inst_1), Eq.{succ u3} R (MvPolynomial.coeff.{u3, u1} R σ _inst_1 c (HSMul.hSMul.{u2, max u3 u1, max u3 u1} S₁ (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u1, u3} σ R _inst_1) (instHSMul.{u2, max u3 u1} S₁ (MvPolynomial.{u1, u3} σ R _inst_1) (SMulZeroClass.toSMul.{u2, max u3 u1} S₁ (MvPolynomial.{u1, u3} σ R _inst_1) (CommMonoidWithZero.toZero.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toCommMonoidWithZero.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (DistribSMul.toSMulZeroClass.{u2, max u3 u1} S₁ (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoidWithOne.toAddMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoidWithOne.toAddMonoidWithOne.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toAddCommMonoidWithOne.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u2, max u3 u1} S₁ (MvPolynomial.{u1, u3} σ R _inst_1) _inst_3 (AddMonoidWithOne.toAddMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoidWithOne.toAddMonoidWithOne.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toAddCommMonoidWithOne.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (MvPolynomial.distribuMulAction.{u2, u3, u1} S₁ R σ _inst_3 _inst_1 m))))) p p_1)) (HSMul.hSMul.{u2, u3, u3} S₁ R R (instHSMul.{u2, u3} S₁ R (SMulZeroClass.toSMul.{u2, u3} S₁ R (CommMonoidWithZero.toZero.{u3} R (CommSemiring.toCommMonoidWithZero.{u3} R _inst_1)) (DistribSMul.toSMulZeroClass.{u2, u3} S₁ R (AddMonoid.toAddZeroClass.{u3} R (AddMonoidWithOne.toAddMonoid.{u3} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} R (NonAssocSemiring.toAddCommMonoidWithOne.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u2, u3} S₁ R _inst_3 (AddMonoidWithOne.toAddMonoid.{u3} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} R (NonAssocSemiring.toAddCommMonoidWithOne.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) m)))) p (MvPolynomial.coeff.{u3, u1} R σ _inst_1 c p_1))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.coeff_smul MvPolynomial.coeff_smulₓ'. -/
@[simp]
-theorem coeff_smul {S₁ : Type _} [Monoid S₁] [DistribMulAction S₁ R] (m : σ →₀ ℕ) (c : S₁)
- (p : MvPolynomial σ R) : coeff m (c • p) = c • coeff m p :=
+theorem coeff_smul {S₁ : Type _} [SMulZeroClass S₁ R] (m : σ →₀ ℕ) (c : S₁) (p : MvPolynomial σ R) :
+ coeff m (c • p) = c • coeff m p :=
smul_apply c p m
#align mv_polynomial.coeff_smul MvPolynomial.coeff_smul
@@ -1280,6 +1288,12 @@ theorem support_X_mul (s : σ) (p : MvPolynomial σ R) :
AddMonoidAlgebra.support_single_mul p _ (by simp) _
#align mv_polynomial.support_X_mul MvPolynomial.support_X_mul
+@[simp]
+theorem support_smul_eq {S₁ : Type _} [Semiring S₁] [Module S₁ R] [NoZeroSMulDivisors S₁ R] {a : S₁}
+ (h : a ≠ 0) (p : MvPolynomial σ R) : (a • p).support = p.support :=
+ Finsupp.support_smul_eq h
+#align mv_polynomial.support_smul_eq MvPolynomial.support_smul_eq
+
/- warning: mv_polynomial.support_sdiff_support_subset_support_add -> MvPolynomial.support_sdiff_support_subset_support_add is a dubious translation:
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_3 : DecidableEq.{succ u2} σ] (p : MvPolynomial.{u2, u1} σ R _inst_1) (q : MvPolynomial.{u2, u1} σ R _inst_1), HasSubset.Subset.{u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasSubset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (SDiff.sdiff.{u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasSdiff.{u2} (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 : σ) => _inst_3 a b) (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) a b)) (MvPolynomial.support.{u1, u2} R σ _inst_1 p) (MvPolynomial.support.{u1, u2} R σ _inst_1 q)) (MvPolynomial.support.{u1, u2} R σ _inst_1 (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHAdd.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasAdd.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) p q))
@@ -1405,6 +1419,11 @@ theorem ne_zero_iff {p : MvPolynomial σ R} : p ≠ 0 ↔ ∃ d, coeff d p ≠ 0
push_neg
#align mv_polynomial.ne_zero_iff MvPolynomial.ne_zero_iff
+@[simp]
+theorem support_eq_empty {p : MvPolynomial σ R} : p.support = ∅ ↔ p = 0 :=
+ Finsupp.support_eq_empty
+#align mv_polynomial.support_eq_empty MvPolynomial.support_eq_empty
+
/- warning: mv_polynomial.exists_coeff_ne_zero -> MvPolynomial.exists_coeff_ne_zero is a dubious translation:
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {p : MvPolynomial.{u2, u1} σ R _inst_1}, (Ne.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) p (OfNat.ofNat.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) 0 (OfNat.mk.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) 0 (Zero.zero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MulZeroClass.toHasZero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toMulZeroClass.{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)))))))))) -> (Exists.{succ u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (fun (d : Finsupp.{u2, 0} σ Nat Nat.hasZero) => Ne.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 d p) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))))
@@ -1502,12 +1521,12 @@ variable {R}
/- warning: mv_polynomial.constant_coeff_smul -> MvPolynomial.constantCoeff_smul is a dubious translation:
lean 3 declaration is
- forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : DistribMulAction.{u1, u2} R S₁ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddMonoidWithOne.toAddMonoid.{u2} S₁ (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} S₁ (NonAssocSemiring.toAddCommMonoidWithOne.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))))] (a : R) (f : MvPolynomial.{u3, u2} σ S₁ _inst_2), Eq.{succ u2} S₁ (coeFn.{max (succ (max u3 u2)) (succ u2), max (succ (max u3 u2)) (succ u2)} (RingHom.{max u3 u2, u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{max u3 u2, u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => (MvPolynomial.{u3, u2} σ S₁ _inst_2) -> S₁) (RingHom.hasCoeToFun.{max u3 u2, u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (MvPolynomial.constantCoeff.{u2, u3} S₁ σ _inst_2) (SMul.smul.{u1, max u3 u2} R (MvPolynomial.{u3, u2} σ S₁ _inst_2) (SMulZeroClass.toHasSmul.{u1, max u3 u2} R (MvPolynomial.{u3, u2} σ S₁ _inst_2) (AddZeroClass.toHasZero.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (AddMonoid.toAddZeroClass.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (AddMonoidWithOne.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (AddCommMonoidWithOne.toAddMonoidWithOne.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonAssocSemiring.toAddCommMonoidWithOne.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))))))) (DistribSMul.toSmulZeroClass.{u1, max u3 u2} R (MvPolynomial.{u3, u2} σ S₁ _inst_2) (AddMonoid.toAddZeroClass.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (AddMonoidWithOne.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (AddCommMonoidWithOne.toAddMonoidWithOne.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonAssocSemiring.toAddCommMonoidWithOne.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))))))) (DistribMulAction.toDistribSMul.{u1, max u3 u2} R (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddMonoidWithOne.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (AddCommMonoidWithOne.toAddMonoidWithOne.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonAssocSemiring.toAddCommMonoidWithOne.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))))) (MvPolynomial.distribMulAction.{u1, u2, u3} R S₁ σ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) _inst_2 _inst_3)))) a f)) (SMul.smul.{u1, u2} R S₁ (SMulZeroClass.toHasSmul.{u1, u2} R S₁ (AddZeroClass.toHasZero.{u2} S₁ (AddMonoid.toAddZeroClass.{u2} S₁ (AddMonoidWithOne.toAddMonoid.{u2} S₁ (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} S₁ (NonAssocSemiring.toAddCommMonoidWithOne.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))))))) (DistribSMul.toSmulZeroClass.{u1, u2} R S₁ (AddMonoid.toAddZeroClass.{u2} S₁ (AddMonoidWithOne.toAddMonoid.{u2} S₁ (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} S₁ (NonAssocSemiring.toAddCommMonoidWithOne.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))))) (DistribMulAction.toDistribSMul.{u1, u2} R S₁ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddMonoidWithOne.toAddMonoid.{u2} S₁ (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} S₁ (NonAssocSemiring.toAddCommMonoidWithOne.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))))) _inst_3))) a (coeFn.{max (succ (max u3 u2)) (succ u2), max (succ (max u3 u2)) (succ u2)} (RingHom.{max u3 u2, u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{max u3 u2, u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => (MvPolynomial.{u3, u2} σ S₁ _inst_2) -> S₁) (RingHom.hasCoeToFun.{max u3 u2, u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (MvPolynomial.constantCoeff.{u2, u3} S₁ σ _inst_2) f))
+ forall {S₁ : Type.{u1}} {σ : Type.{u2}} [_inst_2 : CommSemiring.{u1} S₁] {R : Type.{u3}} [_inst_3 : SMulZeroClass.{u3, u1} R S₁ (MulZeroClass.toHasZero.{u1} S₁ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S₁ (Semiring.toNonAssocSemiring.{u1} S₁ (CommSemiring.toSemiring.{u1} S₁ _inst_2)))))] (a : R) (f : MvPolynomial.{u2, u1} σ S₁ _inst_2), Eq.{succ u1} S₁ (coeFn.{max (succ (max u2 u1)) (succ u1), max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u1, u2} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{u1} S₁ (CommSemiring.toSemiring.{u1} S₁ _inst_2))) (fun (_x : RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u1, u2} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{u1} S₁ (CommSemiring.toSemiring.{u1} S₁ _inst_2))) => (MvPolynomial.{u2, u1} σ S₁ _inst_2) -> S₁) (RingHom.hasCoeToFun.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u1, u2} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{u1} S₁ (CommSemiring.toSemiring.{u1} S₁ _inst_2))) (MvPolynomial.constantCoeff.{u1, u2} S₁ σ _inst_2) (SMul.smul.{u3, max u2 u1} R (MvPolynomial.{u2, u1} σ S₁ _inst_2) (SMulZeroClass.toHasSmul.{u3, max u2 u1} R (MvPolynomial.{u2, u1} σ S₁ _inst_2) (MulZeroClass.toHasZero.{max u2 u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMulZeroClass.{max u2 u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u1, u2} S₁ σ _inst_2)))))) (MvPolynomial.smulZeroClass.{u3, u1, u2} R S₁ σ _inst_2 _inst_3)) a f)) (SMul.smul.{u3, u1} R S₁ (SMulZeroClass.toHasSmul.{u3, u1} R S₁ (MulZeroClass.toHasZero.{u1} S₁ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S₁ (Semiring.toNonAssocSemiring.{u1} S₁ (CommSemiring.toSemiring.{u1} S₁ _inst_2))))) _inst_3) a (coeFn.{max (succ (max u2 u1)) (succ u1), max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u1, u2} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{u1} S₁ (CommSemiring.toSemiring.{u1} S₁ _inst_2))) (fun (_x : RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u1, u2} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{u1} S₁ (CommSemiring.toSemiring.{u1} S₁ _inst_2))) => (MvPolynomial.{u2, u1} σ S₁ _inst_2) -> S₁) (RingHom.hasCoeToFun.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u1, u2} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{u1} S₁ (CommSemiring.toSemiring.{u1} S₁ _inst_2))) (MvPolynomial.constantCoeff.{u1, u2} S₁ σ _inst_2) f))
but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : DistribMulAction.{u2, u3} R S₁ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddMonoidWithOne.toAddMonoid.{u3} S₁ (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} S₁ (NonAssocSemiring.toAddCommMonoidWithOne.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))] (a : R) (f : MvPolynomial.{u1, u3} σ S₁ _inst_2), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) (HSMul.hSMul.{u2, max u3 u1, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (instHSMul.{u2, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (SMulZeroClass.toSMul.{u2, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (CommMonoidWithZero.toZero.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (CommSemiring.toCommMonoidWithZero.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u3, u1} S₁ σ _inst_2))) (DistribSMul.toSMulZeroClass.{u2, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (AddMonoid.toAddZeroClass.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (AddMonoidWithOne.toAddMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (AddCommMonoidWithOne.toAddMonoidWithOne.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toAddCommMonoidWithOne.{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))))))) (DistribMulAction.toDistribSMul.{u2, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddMonoidWithOne.toAddMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (AddCommMonoidWithOne.toAddMonoidWithOne.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toAddCommMonoidWithOne.{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)))))) (MvPolynomial.distribuMulAction.{u2, u3, u1} R S₁ σ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) _inst_2 _inst_3))))) a f)) (FunLike.coe.{max (succ u1) (succ u3), max (succ u1) (succ u3), succ u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (fun (_x : MvPolynomial.{u1, u3} σ S₁ _inst_2) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) _x) (MulHomClass.toFunLike.{max u1 u3, max u1 u3, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (NonUnitalNonAssocSemiring.toMul.{max u1 u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (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))))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u3, max u1 u3, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (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)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u3, max u1 u3, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{max u1 u3, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (MvPolynomial.constantCoeff.{u3, u1} S₁ σ _inst_2) (HSMul.hSMul.{u2, max u3 u1, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (instHSMul.{u2, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (SMulZeroClass.toSMul.{u2, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (CommMonoidWithZero.toZero.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (CommSemiring.toCommMonoidWithZero.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u3, u1} S₁ σ _inst_2))) (DistribSMul.toSMulZeroClass.{u2, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (AddMonoid.toAddZeroClass.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (AddMonoidWithOne.toAddMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (AddCommMonoidWithOne.toAddMonoidWithOne.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toAddCommMonoidWithOne.{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))))))) (DistribMulAction.toDistribSMul.{u2, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddMonoidWithOne.toAddMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (AddCommMonoidWithOne.toAddMonoidWithOne.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toAddCommMonoidWithOne.{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)))))) (MvPolynomial.distribuMulAction.{u2, u3, u1} R S₁ σ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) _inst_2 _inst_3))))) a f)) (HSMul.hSMul.{u2, u3, u3} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) f) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) f) (instHSMul.{u2, u3} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) f) (SMulZeroClass.toSMul.{u2, u3} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) f) (CommMonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) f) (CommSemiring.toCommMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) f) _inst_2)) (DistribSMul.toSMulZeroClass.{u2, u3} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) f) (AddMonoid.toAddZeroClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) f) (AddMonoidWithOne.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) f) (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) f) (NonAssocSemiring.toAddCommMonoidWithOne.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) f) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) f) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) f) _inst_2)))))) (DistribMulAction.toDistribSMul.{u2, u3} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) f) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddMonoidWithOne.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) f) (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) f) (NonAssocSemiring.toAddCommMonoidWithOne.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) f) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) f) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) f) _inst_2))))) _inst_3)))) a (FunLike.coe.{max (succ u1) (succ u3), max (succ u1) (succ u3), succ u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (fun (_x : MvPolynomial.{u1, u3} σ S₁ _inst_2) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) _x) (MulHomClass.toFunLike.{max u1 u3, max u1 u3, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (NonUnitalNonAssocSemiring.toMul.{max u1 u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (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))))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u3, max u1 u3, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (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)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u3, max u1 u3, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{max u1 u3, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (MvPolynomial.constantCoeff.{u3, u1} S₁ σ _inst_2) f))
+ forall {S₁ : Type.{u2}} {σ : Type.{u3}} {_inst_2 : Type.{u1}} [R : CommSemiring.{u2} S₁] [_inst_3 : CommSemiring.{u3} σ] [a : DistribMulAction.{u2, u3} S₁ σ (MonoidWithZero.toMonoid.{u2} S₁ (Semiring.toMonoidWithZero.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ R))) (AddMonoidWithOne.toAddMonoid.{u3} σ (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} σ (NonAssocSemiring.toAddCommMonoidWithOne.{u3} σ (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ _inst_3)))))] (f : S₁) (f_1 : MvPolynomial.{u1, u3} _inst_2 σ _inst_3), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} _inst_2 σ _inst_3) => σ) (HSMul.hSMul.{u2, max u3 u1, max u3 u1} S₁ (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (instHSMul.{u2, max u3 u1} S₁ (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (SMulZeroClass.toSMul.{u2, max u3 u1} S₁ (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (CommMonoidWithZero.toZero.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (CommSemiring.toCommMonoidWithZero.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (MvPolynomial.commSemiring.{u3, u1} σ _inst_2 _inst_3))) (DistribSMul.toSMulZeroClass.{u2, max u3 u1} S₁ (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (AddMonoid.toAddZeroClass.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (AddMonoidWithOne.toAddMonoid.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (AddCommMonoidWithOne.toAddMonoidWithOne.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (NonAssocSemiring.toAddCommMonoidWithOne.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (MvPolynomial.commSemiring.{u3, u1} σ _inst_2 _inst_3))))))) (DistribMulAction.toDistribSMul.{u2, max u3 u1} S₁ (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (MonoidWithZero.toMonoid.{u2} S₁ (Semiring.toMonoidWithZero.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ R))) (AddMonoidWithOne.toAddMonoid.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (AddCommMonoidWithOne.toAddMonoidWithOne.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (NonAssocSemiring.toAddCommMonoidWithOne.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (MvPolynomial.commSemiring.{u3, u1} σ _inst_2 _inst_3)))))) (MvPolynomial.distribuMulAction.{u2, u3, u1} S₁ σ _inst_2 (MonoidWithZero.toMonoid.{u2} S₁ (Semiring.toMonoidWithZero.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ R))) _inst_3 a))))) f f_1)) (FunLike.coe.{max (succ u1) (succ u3), max (succ u1) (succ u3), succ u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) σ (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (MvPolynomial.commSemiring.{u3, u1} σ _inst_2 _inst_3))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ _inst_3))) (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (fun (a : MvPolynomial.{u1, u3} _inst_2 σ _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} _inst_2 σ _inst_3) => σ) a) (MulHomClass.toFunLike.{max u1 u3, max u1 u3, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) σ (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (MvPolynomial.commSemiring.{u3, u1} σ _inst_2 _inst_3))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ _inst_3))) (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) σ (NonUnitalNonAssocSemiring.toMul.{max u1 u3} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (MvPolynomial.commSemiring.{u3, u1} σ _inst_2 _inst_3))))) (NonUnitalNonAssocSemiring.toMul.{u3} σ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} σ (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u3, max u1 u3, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) σ (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (MvPolynomial.commSemiring.{u3, u1} σ _inst_2 _inst_3))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ _inst_3))) (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) σ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (MvPolynomial.commSemiring.{u3, u1} σ _inst_2 _inst_3)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} σ (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u3, max u1 u3, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) σ (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (MvPolynomial.commSemiring.{u3, u1} σ _inst_2 _inst_3))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ _inst_3))) (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) σ (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (MvPolynomial.commSemiring.{u3, u1} σ _inst_2 _inst_3))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ _inst_3)) (RingHom.instRingHomClassRingHom.{max u1 u3, u3} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) σ (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (MvPolynomial.commSemiring.{u3, u1} σ _inst_2 _inst_3))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ _inst_3)))))) (MvPolynomial.constantCoeff.{u3, u1} σ _inst_2 _inst_3) (HSMul.hSMul.{u2, max u3 u1, max u3 u1} S₁ (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (instHSMul.{u2, max u3 u1} S₁ (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (SMulZeroClass.toSMul.{u2, max u3 u1} S₁ (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (CommMonoidWithZero.toZero.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (CommSemiring.toCommMonoidWithZero.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (MvPolynomial.commSemiring.{u3, u1} σ _inst_2 _inst_3))) (DistribSMul.toSMulZeroClass.{u2, max u3 u1} S₁ (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (AddMonoid.toAddZeroClass.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (AddMonoidWithOne.toAddMonoid.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (AddCommMonoidWithOne.toAddMonoidWithOne.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (NonAssocSemiring.toAddCommMonoidWithOne.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (MvPolynomial.commSemiring.{u3, u1} σ _inst_2 _inst_3))))))) (DistribMulAction.toDistribSMul.{u2, max u3 u1} S₁ (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (MonoidWithZero.toMonoid.{u2} S₁ (Semiring.toMonoidWithZero.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ R))) (AddMonoidWithOne.toAddMonoid.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (AddCommMonoidWithOne.toAddMonoidWithOne.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (NonAssocSemiring.toAddCommMonoidWithOne.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (MvPolynomial.commSemiring.{u3, u1} σ _inst_2 _inst_3)))))) (MvPolynomial.distribuMulAction.{u2, u3, u1} S₁ σ _inst_2 (MonoidWithZero.toMonoid.{u2} S₁ (Semiring.toMonoidWithZero.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ R))) _inst_3 a))))) f f_1)) (HSMul.hSMul.{u2, u3, u3} S₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} _inst_2 σ _inst_3) => σ) f_1) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} _inst_2 σ _inst_3) => σ) f_1) (instHSMul.{u2, u3} S₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} _inst_2 σ _inst_3) => σ) f_1) (SMulZeroClass.toSMul.{u2, u3} S₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} _inst_2 σ _inst_3) => σ) f_1) (CommMonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} _inst_2 σ _inst_3) => σ) f_1) (CommSemiring.toCommMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} _inst_2 σ _inst_3) => σ) f_1) _inst_3)) (DistribSMul.toSMulZeroClass.{u2, u3} S₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} _inst_2 σ _inst_3) => σ) f_1) (AddMonoid.toAddZeroClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} _inst_2 σ _inst_3) => σ) f_1) (AddMonoidWithOne.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} _inst_2 σ _inst_3) => σ) f_1) (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} _inst_2 σ _inst_3) => σ) f_1) (NonAssocSemiring.toAddCommMonoidWithOne.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} _inst_2 σ _inst_3) => σ) f_1) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} _inst_2 σ _inst_3) => σ) f_1) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} _inst_2 σ _inst_3) => σ) f_1) _inst_3)))))) (DistribMulAction.toDistribSMul.{u2, u3} S₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} _inst_2 σ _inst_3) => σ) f_1) (MonoidWithZero.toMonoid.{u2} S₁ (Semiring.toMonoidWithZero.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ R))) (AddMonoidWithOne.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} _inst_2 σ _inst_3) => σ) f_1) (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} _inst_2 σ _inst_3) => σ) f_1) (NonAssocSemiring.toAddCommMonoidWithOne.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} _inst_2 σ _inst_3) => σ) f_1) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} _inst_2 σ _inst_3) => σ) f_1) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} _inst_2 σ _inst_3) => σ) f_1) _inst_3))))) a)))) f (FunLike.coe.{max (succ u1) (succ u3), max (succ u1) (succ u3), succ u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) σ (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (MvPolynomial.commSemiring.{u3, u1} σ _inst_2 _inst_3))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ _inst_3))) (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (fun (a : MvPolynomial.{u1, u3} _inst_2 σ _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} _inst_2 σ _inst_3) => σ) a) (MulHomClass.toFunLike.{max u1 u3, max u1 u3, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) σ (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (MvPolynomial.commSemiring.{u3, u1} σ _inst_2 _inst_3))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ _inst_3))) (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) σ (NonUnitalNonAssocSemiring.toMul.{max u1 u3} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (MvPolynomial.commSemiring.{u3, u1} σ _inst_2 _inst_3))))) (NonUnitalNonAssocSemiring.toMul.{u3} σ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} σ (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u3, max u1 u3, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) σ (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (MvPolynomial.commSemiring.{u3, u1} σ _inst_2 _inst_3))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ _inst_3))) (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) σ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (MvPolynomial.commSemiring.{u3, u1} σ _inst_2 _inst_3)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} σ (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u3, max u1 u3, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) σ (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (MvPolynomial.commSemiring.{u3, u1} σ _inst_2 _inst_3))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ _inst_3))) (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) σ (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (MvPolynomial.commSemiring.{u3, u1} σ _inst_2 _inst_3))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ _inst_3)) (RingHom.instRingHomClassRingHom.{max u1 u3, u3} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) σ (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} _inst_2 σ _inst_3) (MvPolynomial.commSemiring.{u3, u1} σ _inst_2 _inst_3))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ _inst_3)))))) (MvPolynomial.constantCoeff.{u3, u1} σ _inst_2 _inst_3) f_1))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.constant_coeff_smul MvPolynomial.constantCoeff_smulₓ'. -/
@[simp]
-theorem constantCoeff_smul [DistribMulAction R S₁] (a : R) (f : MvPolynomial σ S₁) :
+theorem constantCoeff_smul {R : Type _} [SMulZeroClass R S₁] (a : R) (f : MvPolynomial σ S₁) :
constantCoeff (a • f) = a • constantCoeff f :=
rfl
#align mv_polynomial.constant_coeff_smul MvPolynomial.constantCoeff_smul
@@ -1999,7 +2018,7 @@ theorem eval_X : ∀ n, eval f (X n) = f n :=
/- warning: mv_polynomial.smul_eval -> MvPolynomial.smul_eval is a dubious translation:
lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (x : σ -> R) (p : MvPolynomial.{u2, u1} σ R _inst_1) (s : R), Eq.{succ u1} R (coeFn.{max (succ (max u2 u1)) (succ u1), max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u2, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.eval.{u1, u2} R σ _inst_1 x) (SMul.smul.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (SMulZeroClass.toHasSmul.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (AddZeroClass.toHasZero.{max u2 u1} (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)))))))) (SMulWithZero.toSmulZeroClass.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{max u2 u1} (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)))))))) (MulActionWithZero.toSMulWithZero.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{max u2 u1} (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)))))))) (Module.toMulActionWithZero.{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))))) (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))))))) s p)) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) s (coeFn.{max (succ (max u2 u1)) (succ u1), max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u2, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.eval.{u1, u2} R σ _inst_1 x) p))
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (x : σ -> R) (p : MvPolynomial.{u2, u1} σ R _inst_1) (s : R), Eq.{succ u1} R (coeFn.{max (succ (max u2 u1)) (succ u1), max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u2, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.eval.{u1, u2} R σ _inst_1 x) (SMul.smul.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (SMulZeroClass.toHasSmul.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (MulZeroClass.toHasZero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toMulZeroClass.{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)))))) (MvPolynomial.smulZeroClass.{u1, u1, u2} R R σ _inst_1 (SMulWithZero.toSmulZeroClass.{u1, u1} R R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (MulZeroClass.toSMulWithZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))) s p)) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) s (coeFn.{max (succ (max u2 u1)) (succ u1), max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u2, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.eval.{u1, u2} R σ _inst_1 x) p))
but is expected to have type
forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (x : σ -> R) (p : MvPolynomial.{u1, u2} σ R _inst_1) (s : R), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) (HSMul.hSMul.{u2, max u2 u1, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (Algebra.toSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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)))) s p)) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (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) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.eval.{u2, u1} R σ _inst_1 x) (HSMul.hSMul.{u2, max u2 u1, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (Algebra.toSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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)))) s p)) (HMul.hMul.{u2, u2, u2} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) s (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (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) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.eval.{u2, u1} R σ _inst_1 x) p))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.smul_eval MvPolynomial.smul_evalₓ'. -/
@@ -2857,7 +2876,7 @@ theorem aevalTower_comp_algebraMap :
/- warning: mv_polynomial.aeval_tower_to_alg_hom -> MvPolynomial.aevalTower_toAlgHom is a dubious translation:
lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {S : Type.{u3}} {A : Type.{u4}} [_inst_3 : CommSemiring.{u3} S] [_inst_4 : CommSemiring.{u4} A] [_inst_6 : Algebra.{u3, u1} S R _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1)] [_inst_7 : Algebra.{u3, u4} S A _inst_3 (CommSemiring.toSemiring.{u4} A _inst_4)] (g : AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) (y : σ -> A) (x : R), Eq.{succ u4} A (coeFn.{max (succ (max u2 u1)) (succ u4), max (succ (max u2 u1)) (succ u4)} (AlgHom.{u3, max u2 u1, u4} S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (fun (_x : AlgHom.{u3, max u2 u1, u4} S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) => (MvPolynomial.{u2, u1} σ R _inst_1) -> A) ([anonymous].{u3, max u2 u1, u4} S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (MvPolynomial.aevalTower.{u1, u2, u3, u4} R σ _inst_1 S A _inst_3 _inst_4 _inst_6 _inst_7 g y) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (AlgHom.{u3, u1, max u2 u1} S R (MvPolynomial.{u2, u1} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6)) (fun (_x : AlgHom.{u3, u1, max u2 u1} S R (MvPolynomial.{u2, u1} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6)) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) ([anonymous].{u3, u1, max u2 u1} S R (MvPolynomial.{u2, u1} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6)) (IsScalarTower.toAlgHom.{u3, u1, max u2 u1} S R (MvPolynomial.{u2, u1} σ R _inst_1) _inst_3 _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) (MvPolynomial.isScalarTower.{u3, u1, u1, u2} S R R σ (MonoidWithZero.toMonoid.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) _inst_1 (SMulZeroClass.toHasSmul.{u3, u1} S R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (SMulWithZero.toSmulZeroClass.{u3, u1} S R (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3))))) (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (MulActionWithZero.toSMulWithZero.{u3, u1} S R (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3)) (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (Module.toMulActionWithZero.{u3, u1} S R (CommSemiring.toSemiring.{u3} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u3, u1} S R _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6))))) (Module.toDistribMulAction.{u3, u1} S R (CommSemiring.toSemiring.{u3} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u3, u1} S R _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (IsScalarTower.right.{u3, u1} S R _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6))) x)) (coeFn.{max (succ u1) (succ u4), max (succ u1) (succ u4)} (AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) (fun (_x : AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) => R -> A) ([anonymous].{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) g x)
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {S : Type.{u3}} {A : Type.{u4}} [_inst_3 : CommSemiring.{u3} S] [_inst_4 : CommSemiring.{u4} A] [_inst_6 : Algebra.{u3, u1} S R _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1)] [_inst_7 : Algebra.{u3, u4} S A _inst_3 (CommSemiring.toSemiring.{u4} A _inst_4)] (g : AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) (y : σ -> A) (x : R), Eq.{succ u4} A (coeFn.{max (succ (max u2 u1)) (succ u4), max (succ (max u2 u1)) (succ u4)} (AlgHom.{u3, max u2 u1, u4} S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (fun (_x : AlgHom.{u3, max u2 u1, u4} S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) => (MvPolynomial.{u2, u1} σ R _inst_1) -> A) ([anonymous].{u3, max u2 u1, u4} S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (MvPolynomial.aevalTower.{u1, u2, u3, u4} R σ _inst_1 S A _inst_3 _inst_4 _inst_6 _inst_7 g y) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (AlgHom.{u3, u1, max u2 u1} S R (MvPolynomial.{u2, u1} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6)) (fun (_x : AlgHom.{u3, u1, max u2 u1} S R (MvPolynomial.{u2, u1} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6)) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) ([anonymous].{u3, u1, max u2 u1} S R (MvPolynomial.{u2, u1} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6)) (IsScalarTower.toAlgHom.{u3, u1, max u2 u1} S R (MvPolynomial.{u2, u1} σ R _inst_1) _inst_3 _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) (MvPolynomial.isScalarTower.{u3, u1, u1, u2} S R R σ _inst_1 (SMulZeroClass.toHasSmul.{u3, u1} S R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (SMulWithZero.toSmulZeroClass.{u3, u1} S R (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3))))) (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (MulActionWithZero.toSMulWithZero.{u3, u1} S R (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3)) (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (Module.toMulActionWithZero.{u3, u1} S R (CommSemiring.toSemiring.{u3} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u3, u1} S R _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6))))) (SMulWithZero.toSmulZeroClass.{u3, u1} S R (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3))))) (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (MulActionWithZero.toSMulWithZero.{u3, u1} S R (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3)) (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Module.toMulActionWithZero.{u3, u1} S R (CommSemiring.toSemiring.{u3} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u3, u1} S R _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6)))) (SMulWithZero.toSmulZeroClass.{u1, u1} R R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (MulZeroClass.toSMulWithZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (IsScalarTower.right.{u3, u1} S R _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6))) x)) (coeFn.{max (succ u1) (succ u4), max (succ u1) (succ u4)} (AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) (fun (_x : AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) => R -> A) ([anonymous].{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) g x)
but is expected to have type
forall {R : Type.{u4}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u4} R] {S : Type.{u1}} {A : Type.{u3}} [_inst_3 : CommSemiring.{u1} S] [_inst_4 : CommSemiring.{u3} A] [_inst_6 : Algebra.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1)] [_inst_7 : Algebra.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4)] (g : AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) (y : σ -> A) (x : R), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u2, u4} σ R _inst_1) => A) (FunLike.coe.{max (succ u4) (succ u2), succ u4, max (succ u4) (succ u2)} (AlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : R) => MvPolynomial.{u2, u4} σ R _inst_1) a) (SMulHomClass.toFunLike.{max u4 u2, u1, u4, max u4 u2} (AlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)) S R (MvPolynomial.{u2, u4} σ R _inst_1) (SMulZeroClass.toSMul.{u1, u4} S R (AddMonoid.toZero.{u4} R (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u1, u4} S R (AddMonoid.toAddZeroClass.{u4} R (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u1, u4} S R (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6))))) (SMulZeroClass.toSMul.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toZero.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))))) (DistribSMul.toSMulZeroClass.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))))) (DistribMulAction.toDistribSMul.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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)))))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)))))) (DistribMulActionHomClass.toSMulHomClass.{max u4 u2, u1, u4, max u4 u2} (AlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)) S R (MvPolynomial.{u2, u4} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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)))))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u4 u2, u1, u4, max u4 u2} (AlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)) S R (MvPolynomial.{u2, u4} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, u4, max u4 u2, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) (AlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)) (AlgHom.algHomClass.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)))))) (IsScalarTower.toAlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 _inst_1 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u4, u4, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) (MvPolynomial.isScalarTower.{u1, u4, u4, u2} S R R σ (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) _inst_1 (Algebra.toSMul.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u4, u4} R R (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (IsScalarTower.right.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6))) x)) (FunLike.coe.{max (max (succ u4) (succ u2)) (succ u3), max (succ u4) (succ u2), succ u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (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) => A) _x) (SMulHomClass.toFunLike.{max (max u4 u2) u3, u1, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u4} σ R _inst_1) A (SMulZeroClass.toSMul.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toZero.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))))) (DistribSMul.toSMulZeroClass.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))))) (DistribMulAction.toDistribSMul.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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)))))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)))))) (SMulZeroClass.toSMul.{u1, u3} S A (AddMonoid.toZero.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribSMul.toSMulZeroClass.{u1, u3} S A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribMulAction.toDistribSMul.{u1, u3} S A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u2) u3, u1, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u4} σ R _inst_1) A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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)))))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u4 u2) u3, u1, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u4} σ R _inst_1) A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (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.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, max u4 u2, u3, max (max u4 u2) u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7 (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (AlgHom.algHomClass.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7))))) (MvPolynomial.aevalTower.{u4, u2, u1, u3} R σ _inst_1 S A _inst_3 _inst_4 _inst_6 _inst_7 g y) (FunLike.coe.{max (succ u4) (succ u2), succ u4, max (succ u4) (succ u2)} (AlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : R) => MvPolynomial.{u2, u4} σ R _inst_1) _x) (SMulHomClass.toFunLike.{max u4 u2, u1, u4, max u4 u2} (AlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)) S R (MvPolynomial.{u2, u4} σ R _inst_1) (SMulZeroClass.toSMul.{u1, u4} S R (AddMonoid.toZero.{u4} R (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u1, u4} S R (AddMonoid.toAddZeroClass.{u4} R (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u1, u4} S R (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6))))) (SMulZeroClass.toSMul.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toZero.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))))) (DistribSMul.toSMulZeroClass.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))))) (DistribMulAction.toDistribSMul.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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)))))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)))))) (DistribMulActionHomClass.toSMulHomClass.{max u4 u2, u1, u4, max u4 u2} (AlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)) S R (MvPolynomial.{u2, u4} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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)))))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u4 u2, u1, u4, max u4 u2} (AlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)) S R (MvPolynomial.{u2, u4} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, u4, max u4 u2, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) (AlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)) (AlgHom.algHomClass.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)))))) (IsScalarTower.toAlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 _inst_1 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u4, u4, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) (MvPolynomial.isScalarTower.{u1, u4, u4, u2} S R R σ (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) _inst_1 (Algebra.toSMul.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u4, u4} R R (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (IsScalarTower.right.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6))) x)) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : R) => A) _x) (SMulHomClass.toFunLike.{max u4 u3, u1, u4, u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) S R A (SMulZeroClass.toSMul.{u1, u4} S R (AddMonoid.toZero.{u4} R (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u1, u4} S R (AddMonoid.toAddZeroClass.{u4} R (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u1, u4} S R (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6))))) (SMulZeroClass.toSMul.{u1, u3} S A (AddMonoid.toZero.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribSMul.toSMulZeroClass.{u1, u3} S A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribMulAction.toDistribSMul.{u1, u3} S A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7))))) (DistribMulActionHomClass.toSMulHomClass.{max u4 u3, u1, u4, u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) S R A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u4 u3, u1, u4, u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) S R A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, u4, u3, max u4 u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7 (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) (AlgHom.algHomClass.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7))))) g x)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_tower_to_alg_hom MvPolynomial.aevalTower_toAlgHomₓ'. -/
@@ -2868,7 +2887,7 @@ theorem aevalTower_toAlgHom (x : R) :
/- warning: mv_polynomial.aeval_tower_comp_to_alg_hom -> MvPolynomial.aevalTower_comp_toAlgHom is a dubious translation:
lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {S : Type.{u3}} {A : Type.{u4}} [_inst_3 : CommSemiring.{u3} S] [_inst_4 : CommSemiring.{u4} A] [_inst_6 : Algebra.{u3, u1} S R _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1)] [_inst_7 : Algebra.{u3, u4} S A _inst_3 (CommSemiring.toSemiring.{u4} A _inst_4)] (g : AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) (y : σ -> A), Eq.{max (succ u1) (succ u4)} (AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) (AlgHom.comp.{u3, u1, max u2 u1, u4} S R (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7 (MvPolynomial.aevalTower.{u1, u2, u3, u4} R σ _inst_1 S A _inst_3 _inst_4 _inst_6 _inst_7 g y) (IsScalarTower.toAlgHom.{u3, u1, max u2 u1} S R (MvPolynomial.{u2, u1} σ R _inst_1) _inst_3 _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) (MvPolynomial.isScalarTower.{u3, u1, u1, u2} S R R σ (MonoidWithZero.toMonoid.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) _inst_1 (SMulZeroClass.toHasSmul.{u3, u1} S R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (SMulWithZero.toSmulZeroClass.{u3, u1} S R (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3))))) (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (MulActionWithZero.toSMulWithZero.{u3, u1} S R (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3)) (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (Module.toMulActionWithZero.{u3, u1} S R (CommSemiring.toSemiring.{u3} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u3, u1} S R _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6))))) (Module.toDistribMulAction.{u3, u1} S R (CommSemiring.toSemiring.{u3} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u3, u1} S R _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (IsScalarTower.right.{u3, u1} S R _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6)))) g
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {S : Type.{u3}} {A : Type.{u4}} [_inst_3 : CommSemiring.{u3} S] [_inst_4 : CommSemiring.{u4} A] [_inst_6 : Algebra.{u3, u1} S R _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1)] [_inst_7 : Algebra.{u3, u4} S A _inst_3 (CommSemiring.toSemiring.{u4} A _inst_4)] (g : AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) (y : σ -> A), Eq.{max (succ u1) (succ u4)} (AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) (AlgHom.comp.{u3, u1, max u2 u1, u4} S R (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7 (MvPolynomial.aevalTower.{u1, u2, u3, u4} R σ _inst_1 S A _inst_3 _inst_4 _inst_6 _inst_7 g y) (IsScalarTower.toAlgHom.{u3, u1, max u2 u1} S R (MvPolynomial.{u2, u1} σ R _inst_1) _inst_3 _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) (MvPolynomial.isScalarTower.{u3, u1, u1, u2} S R R σ _inst_1 (SMulZeroClass.toHasSmul.{u3, u1} S R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (SMulWithZero.toSmulZeroClass.{u3, u1} S R (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3))))) (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (MulActionWithZero.toSMulWithZero.{u3, u1} S R (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3)) (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (Module.toMulActionWithZero.{u3, u1} S R (CommSemiring.toSemiring.{u3} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u3, u1} S R _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6))))) (SMulWithZero.toSmulZeroClass.{u3, u1} S R (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3))))) (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (MulActionWithZero.toSMulWithZero.{u3, u1} S R (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3)) (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Module.toMulActionWithZero.{u3, u1} S R (CommSemiring.toSemiring.{u3} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u3, u1} S R _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6)))) (SMulWithZero.toSmulZeroClass.{u1, u1} R R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (MulZeroClass.toSMulWithZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (IsScalarTower.right.{u3, u1} S R _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6)))) g
but is expected to have type
forall {R : Type.{u4}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u4} R] {S : Type.{u2}} {A : Type.{u3}} [_inst_3 : CommSemiring.{u2} S] [_inst_4 : CommSemiring.{u3} A] [_inst_6 : Algebra.{u2, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1)] [_inst_7 : Algebra.{u2, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4)] (g : AlgHom.{u2, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) (y : σ -> A), Eq.{max (succ u4) (succ u3)} (AlgHom.{u2, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) (AlgHom.comp.{u2, u4, max u4 u1, u3} S R (MvPolynomial.{u1, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 (MvPolynomial.algebra.{u2, u4, u1} S R σ _inst_3 _inst_1 _inst_6) _inst_7 (MvPolynomial.aevalTower.{u4, u1, u2, u3} R σ _inst_1 S A _inst_3 _inst_4 _inst_6 _inst_7 g y) (IsScalarTower.toAlgHom.{u2, u4, max u4 u1} S R (MvPolynomial.{u1, u4} σ R _inst_1) _inst_3 _inst_1 (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u4, u4, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) (MvPolynomial.algebra.{u2, u4, u1} S R σ _inst_3 _inst_1 _inst_6) (MvPolynomial.isScalarTower.{u2, u4, u4, u1} S R R σ (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) _inst_1 (Algebra.toSMul.{u2, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6) (Module.toDistribMulAction.{u2, u4} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u2, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u4, u4} R R (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (IsScalarTower.right.{u2, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)))) g
Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_tower_comp_to_alg_hom MvPolynomial.aevalTower_comp_toAlgHomₓ'. -/
mathlib commit https://github.com/leanprover-community/mathlib/commit/36b8aa61ea7c05727161f96a0532897bd72aedab
@@ -2585,7 +2585,7 @@ theorem map_aeval {B : Type _} [CommSemiring B] (g : σ → S₁) (φ : S₁ →
lean 3 declaration is
forall {R : Type.{u1}} {S₂ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_4 : CommSemiring.{u2} S₂] (f : RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))), Eq.{max (succ (max u3 u1)) (succ u2)} (RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (MvPolynomial.eval₂Hom.{u1, u2, u3} R S₂ σ _inst_1 _inst_4 f (OfNat.ofNat.{max u3 u2} (σ -> S₂) 0 (OfNat.mk.{max u3 u2} (σ -> S₂) 0 (Zero.zero.{max u3 u2} (σ -> S₂) (Pi.instZero.{u3, u2} σ (fun (ᾰ : σ) => S₂) (fun (i : σ) => MulZeroClass.toHasZero.{u2} S₂ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4)))))))))) (RingHom.comp.{max u3 u1, u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) R S₂ (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4)) f (MvPolynomial.constantCoeff.{u1, u3} R σ _inst_1))
but is expected to have type
- forall {R : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_4 : CommSemiring.{u3} S₂] (f : RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))), Eq.{max (max (succ u2) (succ u3)) (succ u1)} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₂ σ _inst_1 _inst_4 f (OfNat.ofNat.{max u3 u1} (σ -> S₂) 0 (Zero.toOfNat0.{max u3 u1} (σ -> S₂) (Pi.instZero.{u1, u3} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.20300 : σ) => S₂) (fun (i : σ) => CommMonoidWithZero.toZero.{u3} S₂ (CommSemiring.toCommMonoidWithZero.{u3} S₂ _inst_4)))))) (RingHom.comp.{max u1 u2, u2, u3} (MvPolynomial.{u1, u2} σ R _inst_1) R 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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) f (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1))
+ forall {R : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_4 : CommSemiring.{u3} S₂] (f : RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))), Eq.{max (max (succ u2) (succ u3)) (succ u1)} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₂ σ _inst_1 _inst_4 f (OfNat.ofNat.{max u3 u1} (σ -> S₂) 0 (Zero.toOfNat0.{max u3 u1} (σ -> S₂) (Pi.instZero.{u1, u3} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.20294 : σ) => S₂) (fun (i : σ) => CommMonoidWithZero.toZero.{u3} S₂ (CommSemiring.toCommMonoidWithZero.{u3} S₂ _inst_4)))))) (RingHom.comp.{max u1 u2, u2, u3} (MvPolynomial.{u1, u2} σ R _inst_1) R 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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) f (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_hom_zero MvPolynomial.eval₂Hom_zeroₓ'. -/
@[simp]
theorem eval₂Hom_zero (f : R →+* S₂) : eval₂Hom f (0 : σ → S₂) = f.comp constantCoeff := by
@@ -2607,7 +2607,7 @@ theorem eval₂Hom_zero' (f : R →+* S₂) : eval₂Hom f (fun _ => 0 : σ →
lean 3 declaration is
forall {R : Type.{u1}} {S₂ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_4 : CommSemiring.{u2} S₂] (f : RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (p : MvPolynomial.{u3, u1} σ R _inst_1), Eq.{succ u2} S₂ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (fun (_x : RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₂) (RingHom.hasCoeToFun.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (MvPolynomial.eval₂Hom.{u1, u2, u3} R S₂ σ _inst_1 _inst_4 f (OfNat.ofNat.{max u3 u2} (σ -> S₂) 0 (OfNat.mk.{max u3 u2} (σ -> S₂) 0 (Zero.zero.{max u3 u2} (σ -> S₂) (Pi.instZero.{u3, u2} σ (fun (ᾰ : σ) => S₂) (fun (i : σ) => MulZeroClass.toHasZero.{u2} S₂ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4)))))))))) p) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (fun (_x : RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) => R -> S₂) (RingHom.hasCoeToFun.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) f (coeFn.{max (succ (max u3 u1)) (succ u1), max (succ (max u3 u1)) (succ u1)} (RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.constantCoeff.{u1, u3} R σ _inst_1) p))
but is expected to have type
- forall {R : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_4 : CommSemiring.{u3} S₂] (f : RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) p) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (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 u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₂ σ _inst_1 _inst_4 f (OfNat.ofNat.{max u3 u1} (σ -> S₂) 0 (Zero.toOfNat0.{max u3 u1} (σ -> S₂) (Pi.instZero.{u1, u3} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.20454 : σ) => S₂) (fun (i : σ) => CommMonoidWithZero.toZero.{u3} S₂ (CommSemiring.toCommMonoidWithZero.{u3} S₂ _inst_4)))))) p) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₂) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))))) f (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (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) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) p))
+ forall {R : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_4 : CommSemiring.{u3} S₂] (f : RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) p) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (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 u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₂ σ _inst_1 _inst_4 f (OfNat.ofNat.{max u3 u1} (σ -> S₂) 0 (Zero.toOfNat0.{max u3 u1} (σ -> S₂) (Pi.instZero.{u1, u3} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.20448 : σ) => S₂) (fun (i : σ) => CommMonoidWithZero.toZero.{u3} S₂ (CommSemiring.toCommMonoidWithZero.{u3} S₂ _inst_4)))))) p) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₂) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))))) f (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (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) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) p))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_hom_zero_apply MvPolynomial.eval₂Hom_zero_applyₓ'. -/
theorem eval₂Hom_zero_apply (f : R →+* S₂) (p : MvPolynomial σ R) :
eval₂Hom f (0 : σ → S₂) p = f (constantCoeff p) :=
@@ -2629,7 +2629,7 @@ theorem eval₂Hom_zero'_apply (f : R →+* S₂) (p : MvPolynomial σ R) :
lean 3 declaration is
forall {R : Type.{u1}} {S₂ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_4 : CommSemiring.{u2} S₂] (f : RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (p : MvPolynomial.{u3, u1} σ R _inst_1), Eq.{succ u2} S₂ (MvPolynomial.eval₂.{u1, u2, u3} R S₂ σ _inst_1 _inst_4 f (OfNat.ofNat.{max u3 u2} (σ -> S₂) 0 (OfNat.mk.{max u3 u2} (σ -> S₂) 0 (Zero.zero.{max u3 u2} (σ -> S₂) (Pi.instZero.{u3, u2} σ (fun (ᾰ : σ) => S₂) (fun (i : σ) => MulZeroClass.toHasZero.{u2} S₂ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))))))))) p) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (fun (_x : RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) => R -> S₂) (RingHom.hasCoeToFun.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) f (coeFn.{max (succ (max u3 u1)) (succ u1), max (succ (max u3 u1)) (succ u1)} (RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.constantCoeff.{u1, u3} R σ _inst_1) p))
but is expected to have type
- forall {R : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_4 : CommSemiring.{u3} S₂] (f : RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} S₂ (MvPolynomial.eval₂.{u2, u3, u1} R S₂ σ _inst_1 _inst_4 f (OfNat.ofNat.{max u3 u1} (σ -> S₂) 0 (Zero.toOfNat0.{max u3 u1} (σ -> S₂) (Pi.instZero.{u1, u3} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.20613 : σ) => S₂) (fun (i : σ) => CommMonoidWithZero.toZero.{u3} S₂ (CommSemiring.toCommMonoidWithZero.{u3} S₂ _inst_4))))) p) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₂) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))))) f (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (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) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) p))
+ forall {R : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_4 : CommSemiring.{u3} S₂] (f : RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} S₂ (MvPolynomial.eval₂.{u2, u3, u1} R S₂ σ _inst_1 _inst_4 f (OfNat.ofNat.{max u3 u1} (σ -> S₂) 0 (Zero.toOfNat0.{max u3 u1} (σ -> S₂) (Pi.instZero.{u1, u3} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.20607 : σ) => S₂) (fun (i : σ) => CommMonoidWithZero.toZero.{u3} S₂ (CommSemiring.toCommMonoidWithZero.{u3} S₂ _inst_4))))) p) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₂) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))))) f (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (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) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) p))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_zero_apply MvPolynomial.eval₂_zero_applyₓ'. -/
@[simp]
theorem eval₂_zero_apply (f : R →+* S₂) (p : MvPolynomial σ R) :
@@ -2653,7 +2653,7 @@ theorem eval₂_zero'_apply (f : R →+* S₂) (p : MvPolynomial σ R) :
lean 3 declaration is
forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : Algebra.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2)] (p : MvPolynomial.{u3, u1} σ R _inst_1), Eq.{succ u2} S₁ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (fun (_x : AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) ([anonymous].{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (MvPolynomial.aeval.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 _inst_3 (OfNat.ofNat.{max u3 u2} (σ -> S₁) 0 (OfNat.mk.{max u3 u2} (σ -> S₁) 0 (Zero.zero.{max u3 u2} (σ -> S₁) (Pi.instZero.{u3, u2} σ (fun (ᾰ : σ) => S₁) (fun (i : σ) => MulZeroClass.toHasZero.{u2} S₁ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))))))))) p) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (algebraMap.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) _inst_3) (coeFn.{max (succ (max u3 u1)) (succ u1), max (succ (max u3 u1)) (succ u1)} (RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.constantCoeff.{u1, u3} R σ _inst_1) p))
but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : Algebra.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2)] (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) p) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u1) (succ u2), succ u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (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) => S₁) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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, 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.{u2, 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.{u2, u3} R S₁ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{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.{u2, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, 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.{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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u1 u2, u3, max (max u3 u1) u2} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3 (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (AlgHom.algHomClass.{u2, max u1 u2, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3))))) (MvPolynomial.aeval.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_3 (OfNat.ofNat.{max u3 u1} (σ -> S₁) 0 (Zero.toOfNat0.{max u3 u1} (σ -> S₁) (Pi.instZero.{u1, u3} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.20761 : σ) => S₁) (fun (i : σ) => CommMonoidWithZero.toZero.{u3} S₁ (CommSemiring.toCommMonoidWithZero.{u3} S₁ _inst_2)))))) p) (FunLike.coe.{max (succ u3) (succ u2), succ u2, succ u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) => S₁) _x) (MulHomClass.toFunLike.{max u3 u2, u2, u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (NonUnitalNonAssocSemiring.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u2, u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u2, u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (algebraMap.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (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) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) p))
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : Algebra.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2)] (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) p) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u1) (succ u2), succ u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (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) => S₁) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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, 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.{u2, 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.{u2, u3} R S₁ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{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.{u2, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, 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.{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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u1 u2, u3, max (max u3 u1) u2} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3 (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (AlgHom.algHomClass.{u2, max u1 u2, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3))))) (MvPolynomial.aeval.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_3 (OfNat.ofNat.{max u3 u1} (σ -> S₁) 0 (Zero.toOfNat0.{max u3 u1} (σ -> S₁) (Pi.instZero.{u1, u3} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.20755 : σ) => S₁) (fun (i : σ) => CommMonoidWithZero.toZero.{u3} S₁ (CommSemiring.toCommMonoidWithZero.{u3} S₁ _inst_2)))))) p) (FunLike.coe.{max (succ u3) (succ u2), succ u2, succ u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) => S₁) _x) (MulHomClass.toFunLike.{max u3 u2, u2, u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (NonUnitalNonAssocSemiring.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u2, u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u2, u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (algebraMap.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (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) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) p))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_zero MvPolynomial.aeval_zeroₓ'. -/
@[simp]
theorem aeval_zero (p : MvPolynomial σ R) :
@@ -2677,7 +2677,7 @@ theorem aeval_zero' (p : MvPolynomial σ R) :
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R], Eq.{max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.eval.{u1, u2} R σ _inst_1 (OfNat.ofNat.{max u2 u1} (σ -> R) 0 (OfNat.mk.{max u2 u1} (σ -> R) 0 (Zero.zero.{max u2 u1} (σ -> R) (Pi.instZero.{u2, u1} σ (fun (ᾰ : σ) => R) (fun (i : σ) => MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))) (MvPolynomial.constantCoeff.{u1, u2} R σ _inst_1)
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.eval.{u2, u1} R σ _inst_1 (OfNat.ofNat.{max u2 u1} (σ -> R) 0 (Zero.toOfNat0.{max u2 u1} (σ -> R) (Pi.instZero.{u1, u2} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.20909 : σ) => R) (fun (i : σ) => CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1)
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.eval.{u2, u1} R σ _inst_1 (OfNat.ofNat.{max u2 u1} (σ -> R) 0 (Zero.toOfNat0.{max u2 u1} (σ -> R) (Pi.instZero.{u1, u2} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.20903 : σ) => R) (fun (i : σ) => CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval_zero MvPolynomial.eval_zeroₓ'. -/
@[simp]
theorem eval_zero : eval (0 : σ → R) = constantCoeff :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/a4f99eae998680d3a2c240da4a2b16354c85ee49
@@ -4,7 +4,7 @@ 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.basic
-! leanprover-community/mathlib commit 932872382355f00112641d305ba0619305dc8642
+! leanprover-community/mathlib commit 0b89934139d3be96f9dab477f10c20f9f93da580
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -2046,6 +2046,35 @@ theorem eval_assoc {τ} (f : σ → MvPolynomial τ R) (g : τ → R) (p : MvPol
congr with a; simp
#align mv_polynomial.eval_assoc MvPolynomial.eval_assoc
+/- warning: mv_polynomial.eval₂_id -> MvPolynomial.eval₂_id is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (p : MvPolynomial.{u2, u1} σ R _inst_1) (g : σ -> R), Eq.{succ u1} R (MvPolynomial.eval₂.{u1, u1, u2} R R σ _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) g p) (coeFn.{max (succ (max u2 u1)) (succ u1), max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u2, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.eval.{u1, u2} R σ _inst_1 g) p)
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {p : σ -> R} (g : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u2} R (MvPolynomial.eval₂.{u2, u2, u1} R R σ _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) p g) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (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) => R) _x) (MulHomClass.toFunLike.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.eval.{u2, u1} R σ _inst_1 p) g)
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_id MvPolynomial.eval₂_idₓ'. -/
+@[simp]
+theorem eval₂_id (p : MvPolynomial σ R) (g : σ → R) : eval₂ (RingHom.id _) g p = eval g p :=
+ rfl
+#align mv_polynomial.eval₂_id MvPolynomial.eval₂_id
+
+/- warning: mv_polynomial.eval_eval₂ -> MvPolynomial.eval_eval₂ is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] {τ : Type.{u4}} (f : RingHom.{u1, max u4 u2} R (MvPolynomial.{u4, u2} τ S₁ _inst_2) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} τ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} τ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ τ _inst_2)))) (g : σ -> (MvPolynomial.{u4, u2} τ S₁ _inst_2)) (p : MvPolynomial.{u3, u1} σ R _inst_1) (x : τ -> S₁), Eq.{succ u2} S₁ (coeFn.{max (succ (max u4 u2)) (succ u2), max (succ (max u4 u2)) (succ u2)} (RingHom.{max u4 u2, u2} (MvPolynomial.{u4, u2} τ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} τ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} τ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ τ _inst_2))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{max u4 u2, u2} (MvPolynomial.{u4, u2} τ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} τ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} τ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ τ _inst_2))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => (MvPolynomial.{u4, u2} τ S₁ _inst_2) -> S₁) (RingHom.hasCoeToFun.{max u4 u2, u2} (MvPolynomial.{u4, u2} τ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} τ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} τ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ τ _inst_2))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (MvPolynomial.eval.{u2, u4} S₁ τ _inst_2 x) (MvPolynomial.eval₂.{u1, max u4 u2, u3} R (MvPolynomial.{u4, u2} τ S₁ _inst_2) σ _inst_1 (MvPolynomial.commSemiring.{u2, u4} S₁ τ _inst_2) f g p)) (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 (RingHom.comp.{u1, max u4 u2, u2} R (MvPolynomial.{u4, u2} τ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} τ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} τ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ τ _inst_2))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (MvPolynomial.eval.{u2, u4} S₁ τ _inst_2 x) f) (fun (s : σ) => coeFn.{max (succ (max u4 u2)) (succ u2), max (succ (max u4 u2)) (succ u2)} (RingHom.{max u4 u2, u2} (MvPolynomial.{u4, u2} τ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} τ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} τ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ τ _inst_2))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{max u4 u2, u2} (MvPolynomial.{u4, u2} τ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} τ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} τ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ τ _inst_2))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => (MvPolynomial.{u4, u2} τ S₁ _inst_2) -> S₁) (RingHom.hasCoeToFun.{max u4 u2, u2} (MvPolynomial.{u4, u2} τ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} τ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} τ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ τ _inst_2))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (MvPolynomial.eval.{u2, u4} S₁ τ _inst_2 x) (g s)) p)
+but is expected to have type
+ forall {R : Type.{u4}} {S₁ : Type.{u1}} {σ : Type.{u3}} {_inst_1 : Type.{u2}} {_inst_2 : _inst_1 -> σ} [τ : CommSemiring.{u4} R] [f : CommSemiring.{u3} σ] (g : RingHom.{u4, max u3 u2} R (MvPolynomial.{u2, u3} _inst_1 σ f) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R τ)) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f)))) (p : S₁ -> (MvPolynomial.{u2, u3} _inst_1 σ f)) (x : MvPolynomial.{u1, u4} S₁ R τ), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u2, u3} _inst_1 σ f) => σ) (MvPolynomial.eval₂.{u4, max u2 u3, u1} R (MvPolynomial.{u2, u3} _inst_1 σ f) S₁ τ (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f) g p x)) (FunLike.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3), succ u3} (RingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} _inst_1 σ f) σ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ f))) (MvPolynomial.{u2, u3} _inst_1 σ f) (fun (_x : MvPolynomial.{u2, u3} _inst_1 σ f) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u2, u3} _inst_1 σ f) => σ) _x) (MulHomClass.toFunLike.{max u2 u3, max u2 u3, u3} (RingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} _inst_1 σ f) σ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ f))) (MvPolynomial.{u2, u3} _inst_1 σ f) σ (NonUnitalNonAssocSemiring.toMul.{max u2 u3} (MvPolynomial.{u2, u3} _inst_1 σ f) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (MvPolynomial.{u2, u3} _inst_1 σ f) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f))))) (NonUnitalNonAssocSemiring.toMul.{u3} σ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} σ (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ f)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, max u2 u3, u3} (RingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} _inst_1 σ f) σ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ f))) (MvPolynomial.{u2, u3} _inst_1 σ f) σ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (MvPolynomial.{u2, u3} _inst_1 σ f) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} σ (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ f))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, max u2 u3, u3} (RingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} _inst_1 σ f) σ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ f))) (MvPolynomial.{u2, u3} _inst_1 σ f) σ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ f)) (RingHom.instRingHomClassRingHom.{max u2 u3, u3} (MvPolynomial.{u2, u3} _inst_1 σ f) σ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ f)))))) (MvPolynomial.eval.{u3, u2} σ _inst_1 f _inst_2) (MvPolynomial.eval₂.{u4, max u2 u3, u1} R (MvPolynomial.{u2, u3} _inst_1 σ f) S₁ τ (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f) g p x)) (MvPolynomial.eval₂.{u4, u3, u1} R σ S₁ τ f (RingHom.comp.{u4, max u3 u2, u3} R (MvPolynomial.{u2, u3} _inst_1 σ f) σ (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R τ)) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ f)) (MvPolynomial.eval.{u3, u2} σ _inst_1 f _inst_2) g) (fun (s : S₁) => FunLike.coe.{max (succ u3) (succ u2), max (succ u3) (succ u2), succ u3} (RingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} _inst_1 σ f) σ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ f))) (MvPolynomial.{u2, u3} _inst_1 σ f) (fun (_x : MvPolynomial.{u2, u3} _inst_1 σ f) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u2, u3} _inst_1 σ f) => σ) _x) (MulHomClass.toFunLike.{max u3 u2, max u3 u2, u3} (RingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} _inst_1 σ f) σ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ f))) (MvPolynomial.{u2, u3} _inst_1 σ f) σ (NonUnitalNonAssocSemiring.toMul.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f))))) (NonUnitalNonAssocSemiring.toMul.{u3} σ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} σ (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ f)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, max u3 u2, u3} (RingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} _inst_1 σ f) σ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ f))) (MvPolynomial.{u2, u3} _inst_1 σ f) σ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} σ (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ f))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, max u3 u2, u3} (RingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} _inst_1 σ f) σ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ f))) (MvPolynomial.{u2, u3} _inst_1 σ f) σ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ f)) (RingHom.instRingHomClassRingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} _inst_1 σ f) σ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} _inst_1 σ f) (MvPolynomial.commSemiring.{u3, u2} σ _inst_1 f))) (Semiring.toNonAssocSemiring.{u3} σ (CommSemiring.toSemiring.{u3} σ f)))))) (MvPolynomial.eval.{u3, u2} σ _inst_1 f _inst_2) (p s)) x)
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval_eval₂ MvPolynomial.eval_eval₂ₓ'. -/
+theorem eval_eval₂ {τ : Type _} (f : R →+* MvPolynomial τ S₁) (g : σ → MvPolynomial τ S₁)
+ (p : MvPolynomial σ R) (x : τ → S₁) :
+ eval x (eval₂ f g p) = eval₂ ((eval x).comp f) (fun s => eval x (g s)) p :=
+ by
+ apply induction_on p
+ · simp
+ · intro p q hp hq
+ simp [hp, hq]
+ · intro p n hp
+ simp [hp]
+#align mv_polynomial.eval_eval₂ MvPolynomial.eval_eval₂
+
end Eval
section Map
mathlib commit https://github.com/leanprover-community/mathlib/commit/730c6d4cab72b9d84fcfb9e95e8796e9cd8f40ba
@@ -2556,7 +2556,7 @@ theorem map_aeval {B : Type _} [CommSemiring B] (g : σ → S₁) (φ : S₁ →
lean 3 declaration is
forall {R : Type.{u1}} {S₂ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_4 : CommSemiring.{u2} S₂] (f : RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))), Eq.{max (succ (max u3 u1)) (succ u2)} (RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (MvPolynomial.eval₂Hom.{u1, u2, u3} R S₂ σ _inst_1 _inst_4 f (OfNat.ofNat.{max u3 u2} (σ -> S₂) 0 (OfNat.mk.{max u3 u2} (σ -> S₂) 0 (Zero.zero.{max u3 u2} (σ -> S₂) (Pi.instZero.{u3, u2} σ (fun (ᾰ : σ) => S₂) (fun (i : σ) => MulZeroClass.toHasZero.{u2} S₂ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4)))))))))) (RingHom.comp.{max u3 u1, u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) R S₂ (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4)) f (MvPolynomial.constantCoeff.{u1, u3} R σ _inst_1))
but is expected to have type
- forall {R : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_4 : CommSemiring.{u3} S₂] (f : RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))), Eq.{max (max (succ u2) (succ u3)) (succ u1)} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₂ σ _inst_1 _inst_4 f (OfNat.ofNat.{max u3 u1} (σ -> S₂) 0 (Zero.toOfNat0.{max u3 u1} (σ -> S₂) (Pi.instZero.{u1, u3} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.20063 : σ) => S₂) (fun (i : σ) => CommMonoidWithZero.toZero.{u3} S₂ (CommSemiring.toCommMonoidWithZero.{u3} S₂ _inst_4)))))) (RingHom.comp.{max u1 u2, u2, u3} (MvPolynomial.{u1, u2} σ R _inst_1) R 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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) f (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1))
+ forall {R : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_4 : CommSemiring.{u3} S₂] (f : RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))), Eq.{max (max (succ u2) (succ u3)) (succ u1)} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₂ σ _inst_1 _inst_4 f (OfNat.ofNat.{max u3 u1} (σ -> S₂) 0 (Zero.toOfNat0.{max u3 u1} (σ -> S₂) (Pi.instZero.{u1, u3} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.20300 : σ) => S₂) (fun (i : σ) => CommMonoidWithZero.toZero.{u3} S₂ (CommSemiring.toCommMonoidWithZero.{u3} S₂ _inst_4)))))) (RingHom.comp.{max u1 u2, u2, u3} (MvPolynomial.{u1, u2} σ R _inst_1) R 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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) f (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_hom_zero MvPolynomial.eval₂Hom_zeroₓ'. -/
@[simp]
theorem eval₂Hom_zero (f : R →+* S₂) : eval₂Hom f (0 : σ → S₂) = f.comp constantCoeff := by
@@ -2578,7 +2578,7 @@ theorem eval₂Hom_zero' (f : R →+* S₂) : eval₂Hom f (fun _ => 0 : σ →
lean 3 declaration is
forall {R : Type.{u1}} {S₂ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_4 : CommSemiring.{u2} S₂] (f : RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (p : MvPolynomial.{u3, u1} σ R _inst_1), Eq.{succ u2} S₂ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (fun (_x : RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₂) (RingHom.hasCoeToFun.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (MvPolynomial.eval₂Hom.{u1, u2, u3} R S₂ σ _inst_1 _inst_4 f (OfNat.ofNat.{max u3 u2} (σ -> S₂) 0 (OfNat.mk.{max u3 u2} (σ -> S₂) 0 (Zero.zero.{max u3 u2} (σ -> S₂) (Pi.instZero.{u3, u2} σ (fun (ᾰ : σ) => S₂) (fun (i : σ) => MulZeroClass.toHasZero.{u2} S₂ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4)))))))))) p) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (fun (_x : RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) => R -> S₂) (RingHom.hasCoeToFun.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) f (coeFn.{max (succ (max u3 u1)) (succ u1), max (succ (max u3 u1)) (succ u1)} (RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.constantCoeff.{u1, u3} R σ _inst_1) p))
but is expected to have type
- forall {R : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_4 : CommSemiring.{u3} S₂] (f : RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) p) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (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 u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₂ σ _inst_1 _inst_4 f (OfNat.ofNat.{max u3 u1} (σ -> S₂) 0 (Zero.toOfNat0.{max u3 u1} (σ -> S₂) (Pi.instZero.{u1, u3} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.20217 : σ) => S₂) (fun (i : σ) => CommMonoidWithZero.toZero.{u3} S₂ (CommSemiring.toCommMonoidWithZero.{u3} S₂ _inst_4)))))) p) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₂) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))))) f (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (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) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) p))
+ forall {R : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_4 : CommSemiring.{u3} S₂] (f : RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) p) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (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 u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₂ σ _inst_1 _inst_4 f (OfNat.ofNat.{max u3 u1} (σ -> S₂) 0 (Zero.toOfNat0.{max u3 u1} (σ -> S₂) (Pi.instZero.{u1, u3} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.20454 : σ) => S₂) (fun (i : σ) => CommMonoidWithZero.toZero.{u3} S₂ (CommSemiring.toCommMonoidWithZero.{u3} S₂ _inst_4)))))) p) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₂) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))))) f (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (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) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) p))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_hom_zero_apply MvPolynomial.eval₂Hom_zero_applyₓ'. -/
theorem eval₂Hom_zero_apply (f : R →+* S₂) (p : MvPolynomial σ R) :
eval₂Hom f (0 : σ → S₂) p = f (constantCoeff p) :=
@@ -2600,7 +2600,7 @@ theorem eval₂Hom_zero'_apply (f : R →+* S₂) (p : MvPolynomial σ R) :
lean 3 declaration is
forall {R : Type.{u1}} {S₂ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_4 : CommSemiring.{u2} S₂] (f : RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (p : MvPolynomial.{u3, u1} σ R _inst_1), Eq.{succ u2} S₂ (MvPolynomial.eval₂.{u1, u2, u3} R S₂ σ _inst_1 _inst_4 f (OfNat.ofNat.{max u3 u2} (σ -> S₂) 0 (OfNat.mk.{max u3 u2} (σ -> S₂) 0 (Zero.zero.{max u3 u2} (σ -> S₂) (Pi.instZero.{u3, u2} σ (fun (ᾰ : σ) => S₂) (fun (i : σ) => MulZeroClass.toHasZero.{u2} S₂ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))))))))) p) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (fun (_x : RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) => R -> S₂) (RingHom.hasCoeToFun.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) f (coeFn.{max (succ (max u3 u1)) (succ u1), max (succ (max u3 u1)) (succ u1)} (RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.constantCoeff.{u1, u3} R σ _inst_1) p))
but is expected to have type
- forall {R : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_4 : CommSemiring.{u3} S₂] (f : RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} S₂ (MvPolynomial.eval₂.{u2, u3, u1} R S₂ σ _inst_1 _inst_4 f (OfNat.ofNat.{max u3 u1} (σ -> S₂) 0 (Zero.toOfNat0.{max u3 u1} (σ -> S₂) (Pi.instZero.{u1, u3} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.20376 : σ) => S₂) (fun (i : σ) => CommMonoidWithZero.toZero.{u3} S₂ (CommSemiring.toCommMonoidWithZero.{u3} S₂ _inst_4))))) p) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₂) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))))) f (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (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) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) p))
+ forall {R : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_4 : CommSemiring.{u3} S₂] (f : RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} S₂ (MvPolynomial.eval₂.{u2, u3, u1} R S₂ σ _inst_1 _inst_4 f (OfNat.ofNat.{max u3 u1} (σ -> S₂) 0 (Zero.toOfNat0.{max u3 u1} (σ -> S₂) (Pi.instZero.{u1, u3} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.20613 : σ) => S₂) (fun (i : σ) => CommMonoidWithZero.toZero.{u3} S₂ (CommSemiring.toCommMonoidWithZero.{u3} S₂ _inst_4))))) p) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₂) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))))) f (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (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) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) p))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_zero_apply MvPolynomial.eval₂_zero_applyₓ'. -/
@[simp]
theorem eval₂_zero_apply (f : R →+* S₂) (p : MvPolynomial σ R) :
@@ -2624,7 +2624,7 @@ theorem eval₂_zero'_apply (f : R →+* S₂) (p : MvPolynomial σ R) :
lean 3 declaration is
forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : Algebra.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2)] (p : MvPolynomial.{u3, u1} σ R _inst_1), Eq.{succ u2} S₁ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (fun (_x : AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) ([anonymous].{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (MvPolynomial.aeval.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 _inst_3 (OfNat.ofNat.{max u3 u2} (σ -> S₁) 0 (OfNat.mk.{max u3 u2} (σ -> S₁) 0 (Zero.zero.{max u3 u2} (σ -> S₁) (Pi.instZero.{u3, u2} σ (fun (ᾰ : σ) => S₁) (fun (i : σ) => MulZeroClass.toHasZero.{u2} S₁ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))))))))) p) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (algebraMap.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) _inst_3) (coeFn.{max (succ (max u3 u1)) (succ u1), max (succ (max u3 u1)) (succ u1)} (RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.constantCoeff.{u1, u3} R σ _inst_1) p))
but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : Algebra.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2)] (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) p) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u1) (succ u2), succ u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (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) => S₁) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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, 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.{u2, 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.{u2, u3} R S₁ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{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.{u2, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, 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.{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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u1 u2, u3, max (max u3 u1) u2} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3 (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (AlgHom.algHomClass.{u2, max u1 u2, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3))))) (MvPolynomial.aeval.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_3 (OfNat.ofNat.{max u3 u1} (σ -> S₁) 0 (Zero.toOfNat0.{max u3 u1} (σ -> S₁) (Pi.instZero.{u1, u3} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.20524 : σ) => S₁) (fun (i : σ) => CommMonoidWithZero.toZero.{u3} S₁ (CommSemiring.toCommMonoidWithZero.{u3} S₁ _inst_2)))))) p) (FunLike.coe.{max (succ u3) (succ u2), succ u2, succ u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) => S₁) _x) (MulHomClass.toFunLike.{max u3 u2, u2, u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (NonUnitalNonAssocSemiring.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u2, u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u2, u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (algebraMap.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (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) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) p))
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : Algebra.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2)] (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) p) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u1) (succ u2), succ u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (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) => S₁) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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, 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.{u2, 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.{u2, u3} R S₁ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{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.{u2, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, 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.{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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u1 u2, u3, max (max u3 u1) u2} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3 (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (AlgHom.algHomClass.{u2, max u1 u2, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3))))) (MvPolynomial.aeval.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_3 (OfNat.ofNat.{max u3 u1} (σ -> S₁) 0 (Zero.toOfNat0.{max u3 u1} (σ -> S₁) (Pi.instZero.{u1, u3} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.20761 : σ) => S₁) (fun (i : σ) => CommMonoidWithZero.toZero.{u3} S₁ (CommSemiring.toCommMonoidWithZero.{u3} S₁ _inst_2)))))) p) (FunLike.coe.{max (succ u3) (succ u2), succ u2, succ u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) => S₁) _x) (MulHomClass.toFunLike.{max u3 u2, u2, u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (NonUnitalNonAssocSemiring.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u2, u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u2, u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (algebraMap.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (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) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) p))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_zero MvPolynomial.aeval_zeroₓ'. -/
@[simp]
theorem aeval_zero (p : MvPolynomial σ R) :
@@ -2648,7 +2648,7 @@ theorem aeval_zero' (p : MvPolynomial σ R) :
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R], Eq.{max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.eval.{u1, u2} R σ _inst_1 (OfNat.ofNat.{max u2 u1} (σ -> R) 0 (OfNat.mk.{max u2 u1} (σ -> R) 0 (Zero.zero.{max u2 u1} (σ -> R) (Pi.instZero.{u2, u1} σ (fun (ᾰ : σ) => R) (fun (i : σ) => MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))) (MvPolynomial.constantCoeff.{u1, u2} R σ _inst_1)
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.eval.{u2, u1} R σ _inst_1 (OfNat.ofNat.{max u2 u1} (σ -> R) 0 (Zero.toOfNat0.{max u2 u1} (σ -> R) (Pi.instZero.{u1, u2} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.20672 : σ) => R) (fun (i : σ) => CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1)
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.eval.{u2, u1} R σ _inst_1 (OfNat.ofNat.{max u2 u1} (σ -> R) 0 (Zero.toOfNat0.{max u2 u1} (σ -> R) (Pi.instZero.{u1, u2} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.20909 : σ) => R) (fun (i : σ) => CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval_zero MvPolynomial.eval_zeroₓ'. -/
@[simp]
theorem eval_zero : eval (0 : σ → R) = constantCoeff :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/7ebf83ed9c262adbf983ef64d5e8c2ae94b625f4
@@ -1312,7 +1312,7 @@ theorem support_symmDiff_support_subset_support_add [DecidableEq σ] (p q : MvPo
/- warning: mv_polynomial.coeff_mul_monomial' -> MvPolynomial.coeff_mul_monomial' is a dubious translation:
lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (m : Finsupp.{u2, 0} σ Nat Nat.hasZero) (s : Finsupp.{u2, 0} σ Nat Nat.hasZero) (r : R) (p : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) p (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) r))) (ite.{succ u1} R (LE.le.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.hasLe.{u2, 0} σ Nat Nat.hasZero Nat.hasLe) s m) (Finsupp.decidableLE.{u2, 0} σ Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) (fun (a : Nat) (b : Nat) => Nat.decidableLe a b) s m) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (MvPolynomial.coeff.{u1, u2} R σ _inst_1 (HSub.hSub.{u2, u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (instHSub.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.tsub.{u2, 0} σ Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) Nat.hasSub Nat.hasOrderedSub)) m s) p) r) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (m : Finsupp.{u2, 0} σ Nat Nat.hasZero) (s : Finsupp.{u2, 0} σ Nat Nat.hasZero) (r : R) (p : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) p (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) r))) (ite.{succ u1} R (LE.le.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.hasLe.{u2, 0} σ Nat Nat.hasZero Nat.hasLe) s m) (Finsupp.decidableLE.{u2, 0} σ Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) (fun (a : Nat) (b : Nat) => Nat.decidableLe a b) s m) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (MvPolynomial.coeff.{u1, u2} R σ _inst_1 (HSub.hSub.{u2, u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (instHSub.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.tsub.{u2, 0} σ Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) Nat.hasSub Nat.orderedSub)) m s) p) r) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))
but is expected to have type
forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (r : R) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) p (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) r))) (ite.{succ u2} R (LE.le.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.instLEFinsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) instLENat) s m) (Finsupp.decidableLE.{u1, 0} σ Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) (fun (a : Nat) (b : Nat) => Nat.decLe a b) s m) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 (HSub.hSub.{u1, u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHSub.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.tsub.{u1, 0} σ Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) instSubNat Nat.instOrderedSubNatInstLENatInstAddNatInstSubNat)) m s) p) r) (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_mul_monomial' MvPolynomial.coeff_mul_monomial'ₓ'. -/
@@ -1341,7 +1341,7 @@ theorem coeff_mul_monomial' (m) (s : σ →₀ ℕ) (r : R) (p : MvPolynomial σ
/- warning: mv_polynomial.coeff_monomial_mul' -> MvPolynomial.coeff_monomial_mul' is a dubious translation:
lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (m : Finsupp.{u2, 0} σ Nat Nat.hasZero) (s : Finsupp.{u2, 0} σ Nat Nat.hasZero) (r : R) (p : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) r) p)) (ite.{succ u1} R (LE.le.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.hasLe.{u2, 0} σ Nat Nat.hasZero Nat.hasLe) s m) (Finsupp.decidableLE.{u2, 0} σ Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) (fun (a : Nat) (b : Nat) => Nat.decidableLe a b) s m) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) r (MvPolynomial.coeff.{u1, u2} R σ _inst_1 (HSub.hSub.{u2, u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (instHSub.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.tsub.{u2, 0} σ Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) Nat.hasSub Nat.hasOrderedSub)) m s) p)) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (m : Finsupp.{u2, 0} σ Nat Nat.hasZero) (s : Finsupp.{u2, 0} σ Nat Nat.hasZero) (r : R) (p : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) r) p)) (ite.{succ u1} R (LE.le.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.hasLe.{u2, 0} σ Nat Nat.hasZero Nat.hasLe) s m) (Finsupp.decidableLE.{u2, 0} σ Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) (fun (a : Nat) (b : Nat) => Nat.decidableLe a b) s m) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) r (MvPolynomial.coeff.{u1, u2} R σ _inst_1 (HSub.hSub.{u2, u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (instHSub.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.tsub.{u2, 0} σ Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) Nat.hasSub Nat.orderedSub)) m s) p)) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))
but is expected to have type
forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (r : R) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) r) p)) (ite.{succ u2} R (LE.le.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.instLEFinsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) instLENat) s m) (Finsupp.decidableLE.{u1, 0} σ Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) (fun (a : Nat) (b : Nat) => Nat.decLe a b) s m) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) r (MvPolynomial.coeff.{u2, u1} R σ _inst_1 (HSub.hSub.{u1, u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHSub.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.tsub.{u1, 0} σ Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) instSubNat Nat.instOrderedSubNatInstLENatInstAddNatInstSubNat)) m s) p)) (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_monomial_mul' MvPolynomial.coeff_monomial_mul'ₓ'. -/
@@ -1355,7 +1355,7 @@ theorem coeff_monomial_mul' (m) (s : σ →₀ ℕ) (r : R) (p : MvPolynomial σ
/- warning: mv_polynomial.coeff_mul_X' -> MvPolynomial.coeff_mul_X' is a dubious translation:
lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_3 : DecidableEq.{succ u2} σ] (m : Finsupp.{u2, 0} σ Nat Nat.hasZero) (s : σ) (p : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) p (MvPolynomial.X.{u1, u2} R σ _inst_1 s))) (ite.{succ u1} R (Membership.Mem.{u2, u2} σ (Finset.{u2} σ) (Finset.hasMem.{u2} σ) s (Finsupp.support.{u2, 0} σ Nat Nat.hasZero m)) (Finset.decidableMem.{u2} σ (fun (a : σ) (b : σ) => _inst_3 a b) s (Finsupp.support.{u2, 0} σ Nat Nat.hasZero m)) (MvPolynomial.coeff.{u1, u2} R σ _inst_1 (HSub.hSub.{u2, u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (instHSub.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.tsub.{u2, 0} σ Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) Nat.hasSub Nat.hasOrderedSub)) m (Finsupp.single.{u2, 0} σ Nat Nat.hasZero s (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) p) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_3 : DecidableEq.{succ u2} σ] (m : Finsupp.{u2, 0} σ Nat Nat.hasZero) (s : σ) (p : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) p (MvPolynomial.X.{u1, u2} R σ _inst_1 s))) (ite.{succ u1} R (Membership.Mem.{u2, u2} σ (Finset.{u2} σ) (Finset.hasMem.{u2} σ) s (Finsupp.support.{u2, 0} σ Nat Nat.hasZero m)) (Finset.decidableMem.{u2} σ (fun (a : σ) (b : σ) => _inst_3 a b) s (Finsupp.support.{u2, 0} σ Nat Nat.hasZero m)) (MvPolynomial.coeff.{u1, u2} R σ _inst_1 (HSub.hSub.{u2, u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (instHSub.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.tsub.{u2, 0} σ Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) Nat.hasSub Nat.orderedSub)) m (Finsupp.single.{u2, 0} σ Nat Nat.hasZero s (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) p) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))
but is expected to have type
forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_3 : DecidableEq.{succ u1} σ] (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (s : σ) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m (HMul.hMul.{max u2 u1, max u1 u2, max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) p (MvPolynomial.X.{u2, u1} R σ _inst_1 s))) (ite.{succ u2} R (Membership.mem.{u1, u1} σ (Finset.{u1} σ) (Finset.instMembershipFinset.{u1} σ) s (Finsupp.support.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) m)) (Finset.decidableMem.{u1} σ (fun (a : σ) (b : σ) => _inst_3 a b) s (Finsupp.support.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) m)) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 (HSub.hSub.{u1, u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHSub.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.tsub.{u1, 0} σ Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) instSubNat Nat.instOrderedSubNatInstLENatInstAddNatInstSubNat)) m (Finsupp.single.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) s (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) p) (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_mul_X' MvPolynomial.coeff_mul_X'ₓ'. -/
@@ -1369,7 +1369,7 @@ theorem coeff_mul_X' [DecidableEq σ] (m) (s : σ) (p : MvPolynomial σ R) :
/- warning: mv_polynomial.coeff_X_mul' -> MvPolynomial.coeff_X_mul' is a dubious translation:
lean 3 declaration is
- forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_3 : DecidableEq.{succ u2} σ] (m : Finsupp.{u2, 0} σ Nat Nat.hasZero) (s : σ) (p : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (MvPolynomial.X.{u1, u2} R σ _inst_1 s) p)) (ite.{succ u1} R (Membership.Mem.{u2, u2} σ (Finset.{u2} σ) (Finset.hasMem.{u2} σ) s (Finsupp.support.{u2, 0} σ Nat Nat.hasZero m)) (Finset.decidableMem.{u2} σ (fun (a : σ) (b : σ) => _inst_3 a b) s (Finsupp.support.{u2, 0} σ Nat Nat.hasZero m)) (MvPolynomial.coeff.{u1, u2} R σ _inst_1 (HSub.hSub.{u2, u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (instHSub.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.tsub.{u2, 0} σ Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) Nat.hasSub Nat.hasOrderedSub)) m (Finsupp.single.{u2, 0} σ Nat Nat.hasZero s (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) p) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_3 : DecidableEq.{succ u2} σ] (m : Finsupp.{u2, 0} σ Nat Nat.hasZero) (s : σ) (p : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (MvPolynomial.X.{u1, u2} R σ _inst_1 s) p)) (ite.{succ u1} R (Membership.Mem.{u2, u2} σ (Finset.{u2} σ) (Finset.hasMem.{u2} σ) s (Finsupp.support.{u2, 0} σ Nat Nat.hasZero m)) (Finset.decidableMem.{u2} σ (fun (a : σ) (b : σ) => _inst_3 a b) s (Finsupp.support.{u2, 0} σ Nat Nat.hasZero m)) (MvPolynomial.coeff.{u1, u2} R σ _inst_1 (HSub.hSub.{u2, u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (instHSub.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.tsub.{u2, 0} σ Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) Nat.hasSub Nat.orderedSub)) m (Finsupp.single.{u2, 0} σ Nat Nat.hasZero s (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) p) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))
but is expected to have type
forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_3 : DecidableEq.{succ u1} σ] (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (s : σ) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m (HMul.hMul.{max u1 u2, max u2 u1, max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) (MvPolynomial.X.{u2, u1} R σ _inst_1 s) p)) (ite.{succ u2} R (Membership.mem.{u1, u1} σ (Finset.{u1} σ) (Finset.instMembershipFinset.{u1} σ) s (Finsupp.support.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) m)) (Finset.decidableMem.{u1} σ (fun (a : σ) (b : σ) => _inst_3 a b) s (Finsupp.support.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) m)) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 (HSub.hSub.{u1, u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHSub.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.tsub.{u1, 0} σ Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) instSubNat Nat.instOrderedSubNatInstLENatInstAddNatInstSubNat)) m (Finsupp.single.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) s (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) p) (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_X_mul' MvPolynomial.coeff_X_mul'ₓ'. -/
mathlib commit https://github.com/leanprover-community/mathlib/commit/1f4705ccdfe1e557fc54a0ce081a05e33d2e6240
@@ -2433,6 +2433,12 @@ variable [Algebra R S₁] [CommSemiring S₂]
variable (f : σ → S₁)
+/- warning: mv_polynomial.algebra_map_apply -> MvPolynomial.algebraMap_apply is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : Algebra.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2)] (r : R), Eq.{max (succ u3) (succ u2)} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (coeFn.{max (succ u1) (succ (max u3 u2)), max (succ u1) (succ (max u3 u2))} (RingHom.{u1, max u3 u2} R (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (fun (_x : RingHom.{u1, max u3 u2} R (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) => R -> (MvPolynomial.{u3, u2} σ S₁ _inst_2)) (RingHom.hasCoeToFun.{u1, max u3 u2} R (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (algebraMap.{u1, max u3 u2} R (MvPolynomial.{u3, u2} σ S₁ _inst_2) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)) (MvPolynomial.algebra.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 _inst_3)) r) (coeFn.{max (succ u2) (succ (max u3 u2)), max (succ u2) (succ (max u3 u2))} (RingHom.{u2, max u3 u2} S₁ (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (fun (_x : RingHom.{u2, max u3 u2} S₁ (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) => S₁ -> (MvPolynomial.{u3, u2} σ S₁ _inst_2)) (RingHom.hasCoeToFun.{u2, max u3 u2} S₁ (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (MvPolynomial.C.{u2, u3} S₁ σ _inst_2) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (algebraMap.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) _inst_3) r))
+but is expected to have type
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : Algebra.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2)] (r : R), Eq.{max (succ u3) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u3} σ S₁ _inst_2) r) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), succ u2, max (succ u3) (succ u1)} (RingHom.{u2, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} 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)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, u2, max u3 u1} (RingHom.{u2, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} 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)))) R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} 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 u2 u3) u1, u2, max u3 u1} (RingHom.{u2, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} 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)))) R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} 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 u2 u3) u1, u2, max u3 u1} (RingHom.{u2, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} 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)))) R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} 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.{u2, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} 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))))))) (algebraMap.{u2, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u3, u1} S₁ σ _inst_2)) (MvPolynomial.algebra.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_3)) r) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (RingHom.{u3, max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) σ _inst_2)))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) => MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2) _x) (MulHomClass.toFunLike.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) σ _inst_2)))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2) (NonUnitalNonAssocSemiring.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{max u1 u3} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) σ _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) σ _inst_2)))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) σ _inst_2)))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) σ _inst_2)))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) σ _inst_2))) (RingHom.instRingHomClassRingHom.{u3, max u1 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) σ _inst_2))))))) (MvPolynomial.C.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) σ _inst_2) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (algebraMap.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3) r))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.algebra_map_apply MvPolynomial.algebraMap_applyₓ'. -/
theorem algebraMap_apply (r : R) : algebraMap R (MvPolynomial σ S₁) r = C (algebraMap R S₁ r) :=
rfl
#align mv_polynomial.algebra_map_apply MvPolynomial.algebraMap_apply
@@ -2550,7 +2556,7 @@ theorem map_aeval {B : Type _} [CommSemiring B] (g : σ → S₁) (φ : S₁ →
lean 3 declaration is
forall {R : Type.{u1}} {S₂ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_4 : CommSemiring.{u2} S₂] (f : RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))), Eq.{max (succ (max u3 u1)) (succ u2)} (RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (MvPolynomial.eval₂Hom.{u1, u2, u3} R S₂ σ _inst_1 _inst_4 f (OfNat.ofNat.{max u3 u2} (σ -> S₂) 0 (OfNat.mk.{max u3 u2} (σ -> S₂) 0 (Zero.zero.{max u3 u2} (σ -> S₂) (Pi.instZero.{u3, u2} σ (fun (ᾰ : σ) => S₂) (fun (i : σ) => MulZeroClass.toHasZero.{u2} S₂ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4)))))))))) (RingHom.comp.{max u3 u1, u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) R S₂ (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4)) f (MvPolynomial.constantCoeff.{u1, u3} R σ _inst_1))
but is expected to have type
- forall {R : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_4 : CommSemiring.{u3} S₂] (f : RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))), Eq.{max (max (succ u2) (succ u3)) (succ u1)} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₂ σ _inst_1 _inst_4 f (OfNat.ofNat.{max u3 u1} (σ -> S₂) 0 (Zero.toOfNat0.{max u3 u1} (σ -> S₂) (Pi.instZero.{u1, u3} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.19995 : σ) => S₂) (fun (i : σ) => CommMonoidWithZero.toZero.{u3} S₂ (CommSemiring.toCommMonoidWithZero.{u3} S₂ _inst_4)))))) (RingHom.comp.{max u1 u2, u2, u3} (MvPolynomial.{u1, u2} σ R _inst_1) R 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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) f (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1))
+ forall {R : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_4 : CommSemiring.{u3} S₂] (f : RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))), Eq.{max (max (succ u2) (succ u3)) (succ u1)} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₂ σ _inst_1 _inst_4 f (OfNat.ofNat.{max u3 u1} (σ -> S₂) 0 (Zero.toOfNat0.{max u3 u1} (σ -> S₂) (Pi.instZero.{u1, u3} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.20063 : σ) => S₂) (fun (i : σ) => CommMonoidWithZero.toZero.{u3} S₂ (CommSemiring.toCommMonoidWithZero.{u3} S₂ _inst_4)))))) (RingHom.comp.{max u1 u2, u2, u3} (MvPolynomial.{u1, u2} σ R _inst_1) R 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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) f (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_hom_zero MvPolynomial.eval₂Hom_zeroₓ'. -/
@[simp]
theorem eval₂Hom_zero (f : R →+* S₂) : eval₂Hom f (0 : σ → S₂) = f.comp constantCoeff := by
@@ -2572,7 +2578,7 @@ theorem eval₂Hom_zero' (f : R →+* S₂) : eval₂Hom f (fun _ => 0 : σ →
lean 3 declaration is
forall {R : Type.{u1}} {S₂ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_4 : CommSemiring.{u2} S₂] (f : RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (p : MvPolynomial.{u3, u1} σ R _inst_1), Eq.{succ u2} S₂ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (fun (_x : RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₂) (RingHom.hasCoeToFun.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (MvPolynomial.eval₂Hom.{u1, u2, u3} R S₂ σ _inst_1 _inst_4 f (OfNat.ofNat.{max u3 u2} (σ -> S₂) 0 (OfNat.mk.{max u3 u2} (σ -> S₂) 0 (Zero.zero.{max u3 u2} (σ -> S₂) (Pi.instZero.{u3, u2} σ (fun (ᾰ : σ) => S₂) (fun (i : σ) => MulZeroClass.toHasZero.{u2} S₂ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4)))))))))) p) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (fun (_x : RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) => R -> S₂) (RingHom.hasCoeToFun.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) f (coeFn.{max (succ (max u3 u1)) (succ u1), max (succ (max u3 u1)) (succ u1)} (RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.constantCoeff.{u1, u3} R σ _inst_1) p))
but is expected to have type
- forall {R : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_4 : CommSemiring.{u3} S₂] (f : RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) p) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (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 u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₂ σ _inst_1 _inst_4 f (OfNat.ofNat.{max u3 u1} (σ -> S₂) 0 (Zero.toOfNat0.{max u3 u1} (σ -> S₂) (Pi.instZero.{u1, u3} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.20149 : σ) => S₂) (fun (i : σ) => CommMonoidWithZero.toZero.{u3} S₂ (CommSemiring.toCommMonoidWithZero.{u3} S₂ _inst_4)))))) p) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₂) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))))) f (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (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) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) p))
+ forall {R : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_4 : CommSemiring.{u3} S₂] (f : RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) p) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (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 u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₂ σ _inst_1 _inst_4 f (OfNat.ofNat.{max u3 u1} (σ -> S₂) 0 (Zero.toOfNat0.{max u3 u1} (σ -> S₂) (Pi.instZero.{u1, u3} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.20217 : σ) => S₂) (fun (i : σ) => CommMonoidWithZero.toZero.{u3} S₂ (CommSemiring.toCommMonoidWithZero.{u3} S₂ _inst_4)))))) p) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₂) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))))) f (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (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) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) p))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_hom_zero_apply MvPolynomial.eval₂Hom_zero_applyₓ'. -/
theorem eval₂Hom_zero_apply (f : R →+* S₂) (p : MvPolynomial σ R) :
eval₂Hom f (0 : σ → S₂) p = f (constantCoeff p) :=
@@ -2594,7 +2600,7 @@ theorem eval₂Hom_zero'_apply (f : R →+* S₂) (p : MvPolynomial σ R) :
lean 3 declaration is
forall {R : Type.{u1}} {S₂ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_4 : CommSemiring.{u2} S₂] (f : RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (p : MvPolynomial.{u3, u1} σ R _inst_1), Eq.{succ u2} S₂ (MvPolynomial.eval₂.{u1, u2, u3} R S₂ σ _inst_1 _inst_4 f (OfNat.ofNat.{max u3 u2} (σ -> S₂) 0 (OfNat.mk.{max u3 u2} (σ -> S₂) 0 (Zero.zero.{max u3 u2} (σ -> S₂) (Pi.instZero.{u3, u2} σ (fun (ᾰ : σ) => S₂) (fun (i : σ) => MulZeroClass.toHasZero.{u2} S₂ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))))))))) p) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (fun (_x : RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) => R -> S₂) (RingHom.hasCoeToFun.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) f (coeFn.{max (succ (max u3 u1)) (succ u1), max (succ (max u3 u1)) (succ u1)} (RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.constantCoeff.{u1, u3} R σ _inst_1) p))
but is expected to have type
- forall {R : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_4 : CommSemiring.{u3} S₂] (f : RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} S₂ (MvPolynomial.eval₂.{u2, u3, u1} R S₂ σ _inst_1 _inst_4 f (OfNat.ofNat.{max u3 u1} (σ -> S₂) 0 (Zero.toOfNat0.{max u3 u1} (σ -> S₂) (Pi.instZero.{u1, u3} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.20308 : σ) => S₂) (fun (i : σ) => CommMonoidWithZero.toZero.{u3} S₂ (CommSemiring.toCommMonoidWithZero.{u3} S₂ _inst_4))))) p) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₂) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))))) f (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (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) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) p))
+ forall {R : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_4 : CommSemiring.{u3} S₂] (f : RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} S₂ (MvPolynomial.eval₂.{u2, u3, u1} R S₂ σ _inst_1 _inst_4 f (OfNat.ofNat.{max u3 u1} (σ -> S₂) 0 (Zero.toOfNat0.{max u3 u1} (σ -> S₂) (Pi.instZero.{u1, u3} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.20376 : σ) => S₂) (fun (i : σ) => CommMonoidWithZero.toZero.{u3} S₂ (CommSemiring.toCommMonoidWithZero.{u3} S₂ _inst_4))))) p) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₂) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))))) f (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (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) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) p))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_zero_apply MvPolynomial.eval₂_zero_applyₓ'. -/
@[simp]
theorem eval₂_zero_apply (f : R →+* S₂) (p : MvPolynomial σ R) :
@@ -2618,7 +2624,7 @@ theorem eval₂_zero'_apply (f : R →+* S₂) (p : MvPolynomial σ R) :
lean 3 declaration is
forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : Algebra.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2)] (p : MvPolynomial.{u3, u1} σ R _inst_1), Eq.{succ u2} S₁ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (fun (_x : AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) ([anonymous].{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (MvPolynomial.aeval.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 _inst_3 (OfNat.ofNat.{max u3 u2} (σ -> S₁) 0 (OfNat.mk.{max u3 u2} (σ -> S₁) 0 (Zero.zero.{max u3 u2} (σ -> S₁) (Pi.instZero.{u3, u2} σ (fun (ᾰ : σ) => S₁) (fun (i : σ) => MulZeroClass.toHasZero.{u2} S₁ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))))))))) p) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (algebraMap.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) _inst_3) (coeFn.{max (succ (max u3 u1)) (succ u1), max (succ (max u3 u1)) (succ u1)} (RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.constantCoeff.{u1, u3} R σ _inst_1) p))
but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : Algebra.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2)] (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) p) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u1) (succ u2), succ u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (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) => S₁) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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, 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.{u2, 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.{u2, u3} R S₁ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{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.{u2, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, 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.{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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u1 u2, u3, max (max u3 u1) u2} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3 (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (AlgHom.algHomClass.{u2, max u1 u2, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3))))) (MvPolynomial.aeval.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_3 (OfNat.ofNat.{max u3 u1} (σ -> S₁) 0 (Zero.toOfNat0.{max u3 u1} (σ -> S₁) (Pi.instZero.{u1, u3} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.20456 : σ) => S₁) (fun (i : σ) => CommMonoidWithZero.toZero.{u3} S₁ (CommSemiring.toCommMonoidWithZero.{u3} S₁ _inst_2)))))) p) (FunLike.coe.{max (succ u3) (succ u2), succ u2, succ u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) => S₁) _x) (MulHomClass.toFunLike.{max u3 u2, u2, u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (NonUnitalNonAssocSemiring.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u2, u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u2, u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (algebraMap.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (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) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) p))
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : Algebra.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2)] (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) p) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u1) (succ u2), succ u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (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) => S₁) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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, 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.{u2, 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.{u2, u3} R S₁ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{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.{u2, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, 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.{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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u1 u2, u3, max (max u3 u1) u2} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3 (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (AlgHom.algHomClass.{u2, max u1 u2, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3))))) (MvPolynomial.aeval.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_3 (OfNat.ofNat.{max u3 u1} (σ -> S₁) 0 (Zero.toOfNat0.{max u3 u1} (σ -> S₁) (Pi.instZero.{u1, u3} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.20524 : σ) => S₁) (fun (i : σ) => CommMonoidWithZero.toZero.{u3} S₁ (CommSemiring.toCommMonoidWithZero.{u3} S₁ _inst_2)))))) p) (FunLike.coe.{max (succ u3) (succ u2), succ u2, succ u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) => S₁) _x) (MulHomClass.toFunLike.{max u3 u2, u2, u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (NonUnitalNonAssocSemiring.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u2, u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u2, u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (algebraMap.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (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) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) p))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_zero MvPolynomial.aeval_zeroₓ'. -/
@[simp]
theorem aeval_zero (p : MvPolynomial σ R) :
@@ -2642,7 +2648,7 @@ theorem aeval_zero' (p : MvPolynomial σ R) :
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R], Eq.{max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.eval.{u1, u2} R σ _inst_1 (OfNat.ofNat.{max u2 u1} (σ -> R) 0 (OfNat.mk.{max u2 u1} (σ -> R) 0 (Zero.zero.{max u2 u1} (σ -> R) (Pi.instZero.{u2, u1} σ (fun (ᾰ : σ) => R) (fun (i : σ) => MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))) (MvPolynomial.constantCoeff.{u1, u2} R σ _inst_1)
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.eval.{u2, u1} R σ _inst_1 (OfNat.ofNat.{max u2 u1} (σ -> R) 0 (Zero.toOfNat0.{max u2 u1} (σ -> R) (Pi.instZero.{u1, u2} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.20604 : σ) => R) (fun (i : σ) => CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1)
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.eval.{u2, u1} R σ _inst_1 (OfNat.ofNat.{max u2 u1} (σ -> R) 0 (Zero.toOfNat0.{max u2 u1} (σ -> R) (Pi.instZero.{u1, u2} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.20672 : σ) => R) (fun (i : σ) => CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval_zero MvPolynomial.eval_zeroₓ'. -/
@[simp]
theorem eval_zero : eval (0 : σ → R) = constantCoeff :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/1f4705ccdfe1e557fc54a0ce081a05e33d2e6240
@@ -4,7 +4,7 @@ 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.basic
-! leanprover-community/mathlib commit 2d5739b61641ee4e7e53eca5688a08f66f2e6a60
+! leanprover-community/mathlib commit 932872382355f00112641d305ba0619305dc8642
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -17,6 +17,9 @@ import Mathbin.RingTheory.Adjoin.Basic
/-!
# Multivariate polynomials
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
This file defines polynomial rings over a base ring (or even semiring),
with variables from a general type `σ` (which could be infinite).
mathlib commit https://github.com/leanprover-community/mathlib/commit/02ba8949f486ebecf93fe7460f1ed0564b5e442c
@@ -4,7 +4,7 @@ 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.basic
-! leanprover-community/mathlib commit 65902a4a1a39ff6fdfb657a35dde2579dbb4a155
+! leanprover-community/mathlib commit 2d5739b61641ee4e7e53eca5688a08f66f2e6a60
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -2430,6 +2430,10 @@ variable [Algebra R S₁] [CommSemiring S₂]
variable (f : σ → S₁)
+theorem algebraMap_apply (r : R) : algebraMap R (MvPolynomial σ S₁) r = C (algebraMap R S₁ r) :=
+ rfl
+#align mv_polynomial.algebra_map_apply MvPolynomial.algebraMap_apply
+
#print MvPolynomial.aeval /-
/-- A map `σ → S₁` where `S₁` is an algebra over `R` generates an `R`-algebra homomorphism
from multivariate polynomials over `σ` to `S₁`. -/
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce7e9d53d4bbc38065db3b595cd5bd73c323bc1d
@@ -2543,7 +2543,7 @@ theorem map_aeval {B : Type _} [CommSemiring B] (g : σ → S₁) (φ : S₁ →
lean 3 declaration is
forall {R : Type.{u1}} {S₂ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_4 : CommSemiring.{u2} S₂] (f : RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))), Eq.{max (succ (max u3 u1)) (succ u2)} (RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (MvPolynomial.eval₂Hom.{u1, u2, u3} R S₂ σ _inst_1 _inst_4 f (OfNat.ofNat.{max u3 u2} (σ -> S₂) 0 (OfNat.mk.{max u3 u2} (σ -> S₂) 0 (Zero.zero.{max u3 u2} (σ -> S₂) (Pi.instZero.{u3, u2} σ (fun (ᾰ : σ) => S₂) (fun (i : σ) => MulZeroClass.toHasZero.{u2} S₂ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4)))))))))) (RingHom.comp.{max u3 u1, u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) R S₂ (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4)) f (MvPolynomial.constantCoeff.{u1, u3} R σ _inst_1))
but is expected to have type
- forall {R : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_4 : CommSemiring.{u3} S₂] (f : RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))), Eq.{max (max (succ u2) (succ u3)) (succ u1)} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₂ σ _inst_1 _inst_4 f (OfNat.ofNat.{max u3 u1} (σ -> S₂) 0 (Zero.toOfNat0.{max u3 u1} (σ -> S₂) (Pi.instZero.{u1, u3} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.19872 : σ) => S₂) (fun (i : σ) => CommMonoidWithZero.toZero.{u3} S₂ (CommSemiring.toCommMonoidWithZero.{u3} S₂ _inst_4)))))) (RingHom.comp.{max u1 u2, u2, u3} (MvPolynomial.{u1, u2} σ R _inst_1) R 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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) f (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1))
+ forall {R : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_4 : CommSemiring.{u3} S₂] (f : RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))), Eq.{max (max (succ u2) (succ u3)) (succ u1)} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₂ σ _inst_1 _inst_4 f (OfNat.ofNat.{max u3 u1} (σ -> S₂) 0 (Zero.toOfNat0.{max u3 u1} (σ -> S₂) (Pi.instZero.{u1, u3} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.19995 : σ) => S₂) (fun (i : σ) => CommMonoidWithZero.toZero.{u3} S₂ (CommSemiring.toCommMonoidWithZero.{u3} S₂ _inst_4)))))) (RingHom.comp.{max u1 u2, u2, u3} (MvPolynomial.{u1, u2} σ R _inst_1) R 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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) f (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_hom_zero MvPolynomial.eval₂Hom_zeroₓ'. -/
@[simp]
theorem eval₂Hom_zero (f : R →+* S₂) : eval₂Hom f (0 : σ → S₂) = f.comp constantCoeff := by
@@ -2565,7 +2565,7 @@ theorem eval₂Hom_zero' (f : R →+* S₂) : eval₂Hom f (fun _ => 0 : σ →
lean 3 declaration is
forall {R : Type.{u1}} {S₂ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_4 : CommSemiring.{u2} S₂] (f : RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (p : MvPolynomial.{u3, u1} σ R _inst_1), Eq.{succ u2} S₂ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (fun (_x : RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₂) (RingHom.hasCoeToFun.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (MvPolynomial.eval₂Hom.{u1, u2, u3} R S₂ σ _inst_1 _inst_4 f (OfNat.ofNat.{max u3 u2} (σ -> S₂) 0 (OfNat.mk.{max u3 u2} (σ -> S₂) 0 (Zero.zero.{max u3 u2} (σ -> S₂) (Pi.instZero.{u3, u2} σ (fun (ᾰ : σ) => S₂) (fun (i : σ) => MulZeroClass.toHasZero.{u2} S₂ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4)))))))))) p) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (fun (_x : RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) => R -> S₂) (RingHom.hasCoeToFun.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) f (coeFn.{max (succ (max u3 u1)) (succ u1), max (succ (max u3 u1)) (succ u1)} (RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.constantCoeff.{u1, u3} R σ _inst_1) p))
but is expected to have type
- forall {R : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_4 : CommSemiring.{u3} S₂] (f : RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) p) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (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 u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₂ σ _inst_1 _inst_4 f (OfNat.ofNat.{max u3 u1} (σ -> S₂) 0 (Zero.toOfNat0.{max u3 u1} (σ -> S₂) (Pi.instZero.{u1, u3} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.20026 : σ) => S₂) (fun (i : σ) => CommMonoidWithZero.toZero.{u3} S₂ (CommSemiring.toCommMonoidWithZero.{u3} S₂ _inst_4)))))) p) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₂) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))))) f (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (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) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) p))
+ forall {R : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_4 : CommSemiring.{u3} S₂] (f : RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) p) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (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 u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₂ σ _inst_1 _inst_4 f (OfNat.ofNat.{max u3 u1} (σ -> S₂) 0 (Zero.toOfNat0.{max u3 u1} (σ -> S₂) (Pi.instZero.{u1, u3} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.20149 : σ) => S₂) (fun (i : σ) => CommMonoidWithZero.toZero.{u3} S₂ (CommSemiring.toCommMonoidWithZero.{u3} S₂ _inst_4)))))) p) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₂) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))))) f (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (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) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) p))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_hom_zero_apply MvPolynomial.eval₂Hom_zero_applyₓ'. -/
theorem eval₂Hom_zero_apply (f : R →+* S₂) (p : MvPolynomial σ R) :
eval₂Hom f (0 : σ → S₂) p = f (constantCoeff p) :=
@@ -2587,7 +2587,7 @@ theorem eval₂Hom_zero'_apply (f : R →+* S₂) (p : MvPolynomial σ R) :
lean 3 declaration is
forall {R : Type.{u1}} {S₂ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_4 : CommSemiring.{u2} S₂] (f : RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (p : MvPolynomial.{u3, u1} σ R _inst_1), Eq.{succ u2} S₂ (MvPolynomial.eval₂.{u1, u2, u3} R S₂ σ _inst_1 _inst_4 f (OfNat.ofNat.{max u3 u2} (σ -> S₂) 0 (OfNat.mk.{max u3 u2} (σ -> S₂) 0 (Zero.zero.{max u3 u2} (σ -> S₂) (Pi.instZero.{u3, u2} σ (fun (ᾰ : σ) => S₂) (fun (i : σ) => MulZeroClass.toHasZero.{u2} S₂ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))))))))) p) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (fun (_x : RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) => R -> S₂) (RingHom.hasCoeToFun.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) f (coeFn.{max (succ (max u3 u1)) (succ u1), max (succ (max u3 u1)) (succ u1)} (RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.constantCoeff.{u1, u3} R σ _inst_1) p))
but is expected to have type
- forall {R : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_4 : CommSemiring.{u3} S₂] (f : RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} S₂ (MvPolynomial.eval₂.{u2, u3, u1} R S₂ σ _inst_1 _inst_4 f (OfNat.ofNat.{max u3 u1} (σ -> S₂) 0 (Zero.toOfNat0.{max u3 u1} (σ -> S₂) (Pi.instZero.{u1, u3} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.20185 : σ) => S₂) (fun (i : σ) => CommMonoidWithZero.toZero.{u3} S₂ (CommSemiring.toCommMonoidWithZero.{u3} S₂ _inst_4))))) p) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₂) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))))) f (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (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) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) p))
+ forall {R : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_4 : CommSemiring.{u3} S₂] (f : RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} S₂ (MvPolynomial.eval₂.{u2, u3, u1} R S₂ σ _inst_1 _inst_4 f (OfNat.ofNat.{max u3 u1} (σ -> S₂) 0 (Zero.toOfNat0.{max u3 u1} (σ -> S₂) (Pi.instZero.{u1, u3} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.20308 : σ) => S₂) (fun (i : σ) => CommMonoidWithZero.toZero.{u3} S₂ (CommSemiring.toCommMonoidWithZero.{u3} S₂ _inst_4))))) p) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₂) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))))) f (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (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) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) p))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_zero_apply MvPolynomial.eval₂_zero_applyₓ'. -/
@[simp]
theorem eval₂_zero_apply (f : R →+* S₂) (p : MvPolynomial σ R) :
@@ -2611,7 +2611,7 @@ theorem eval₂_zero'_apply (f : R →+* S₂) (p : MvPolynomial σ R) :
lean 3 declaration is
forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : Algebra.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2)] (p : MvPolynomial.{u3, u1} σ R _inst_1), Eq.{succ u2} S₁ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (fun (_x : AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) ([anonymous].{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (MvPolynomial.aeval.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 _inst_3 (OfNat.ofNat.{max u3 u2} (σ -> S₁) 0 (OfNat.mk.{max u3 u2} (σ -> S₁) 0 (Zero.zero.{max u3 u2} (σ -> S₁) (Pi.instZero.{u3, u2} σ (fun (ᾰ : σ) => S₁) (fun (i : σ) => MulZeroClass.toHasZero.{u2} S₁ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))))))))) p) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (algebraMap.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) _inst_3) (coeFn.{max (succ (max u3 u1)) (succ u1), max (succ (max u3 u1)) (succ u1)} (RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.constantCoeff.{u1, u3} R σ _inst_1) p))
but is expected to have type
- forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : Algebra.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2)] (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) p) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u1) (succ u2), succ u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (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) => S₁) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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, 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.{u2, 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.{u2, u3} R S₁ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{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.{u2, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, 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.{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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u1 u2, u3, max (max u3 u1) u2} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3 (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (AlgHom.algHomClass.{u2, max u1 u2, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3))))) (MvPolynomial.aeval.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_3 (OfNat.ofNat.{max u3 u1} (σ -> S₁) 0 (Zero.toOfNat0.{max u3 u1} (σ -> S₁) (Pi.instZero.{u1, u3} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.20333 : σ) => S₁) (fun (i : σ) => CommMonoidWithZero.toZero.{u3} S₁ (CommSemiring.toCommMonoidWithZero.{u3} S₁ _inst_2)))))) p) (FunLike.coe.{max (succ u3) (succ u2), succ u2, succ u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) => S₁) _x) (MulHomClass.toFunLike.{max u3 u2, u2, u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (NonUnitalNonAssocSemiring.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u2, u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u2, u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (algebraMap.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (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) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) p))
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : Algebra.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2)] (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) p) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u1) (succ u2), succ u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (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) => S₁) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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, 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.{u2, 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.{u2, u3} R S₁ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{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.{u2, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, 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.{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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u1 u2, u3, max (max u3 u1) u2} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3 (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (AlgHom.algHomClass.{u2, max u1 u2, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3))))) (MvPolynomial.aeval.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_3 (OfNat.ofNat.{max u3 u1} (σ -> S₁) 0 (Zero.toOfNat0.{max u3 u1} (σ -> S₁) (Pi.instZero.{u1, u3} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.20456 : σ) => S₁) (fun (i : σ) => CommMonoidWithZero.toZero.{u3} S₁ (CommSemiring.toCommMonoidWithZero.{u3} S₁ _inst_2)))))) p) (FunLike.coe.{max (succ u3) (succ u2), succ u2, succ u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) => S₁) _x) (MulHomClass.toFunLike.{max u3 u2, u2, u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (NonUnitalNonAssocSemiring.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u2, u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u2, u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (algebraMap.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (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) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) p))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_zero MvPolynomial.aeval_zeroₓ'. -/
@[simp]
theorem aeval_zero (p : MvPolynomial σ R) :
@@ -2635,7 +2635,7 @@ theorem aeval_zero' (p : MvPolynomial σ R) :
lean 3 declaration is
forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R], Eq.{max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.eval.{u1, u2} R σ _inst_1 (OfNat.ofNat.{max u2 u1} (σ -> R) 0 (OfNat.mk.{max u2 u1} (σ -> R) 0 (Zero.zero.{max u2 u1} (σ -> R) (Pi.instZero.{u2, u1} σ (fun (ᾰ : σ) => R) (fun (i : σ) => MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))) (MvPolynomial.constantCoeff.{u1, u2} R σ _inst_1)
but is expected to have type
- forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.eval.{u2, u1} R σ _inst_1 (OfNat.ofNat.{max u2 u1} (σ -> R) 0 (Zero.toOfNat0.{max u2 u1} (σ -> R) (Pi.instZero.{u1, u2} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.20481 : σ) => R) (fun (i : σ) => CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1)
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.eval.{u2, u1} R σ _inst_1 (OfNat.ofNat.{max u2 u1} (σ -> R) 0 (Zero.toOfNat0.{max u2 u1} (σ -> R) (Pi.instZero.{u1, u2} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.20604 : σ) => R) (fun (i : σ) => CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval_zero MvPolynomial.eval_zeroₓ'. -/
@[simp]
theorem eval_zero : eval (0 : σ → R) = constantCoeff :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/1a313d8bba1bad05faba71a4a4e9742ab5bd9efd
@@ -84,11 +84,13 @@ universe u v w x
variable {R : Type u} {S₁ : Type v} {S₂ : Type w} {S₃ : Type x}
+#print MvPolynomial /-
/-- Multivariate polynomial, where `σ` is the index set of the variables and
`R` is the coefficient ring -/
def MvPolynomial (σ : Type _) (R : Type _) [CommSemiring R] :=
AddMonoidAlgebra R (σ →₀ ℕ)
#align mv_polynomial MvPolynomial
+-/
namespace MvPolynomial
@@ -98,10 +100,12 @@ section CommSemiring
section Instances
+#print MvPolynomial.decidableEqMvPolynomial /-
instance decidableEqMvPolynomial [CommSemiring R] [DecidableEq σ] [DecidableEq R] :
DecidableEq (MvPolynomial σ R) :=
Finsupp.decidableEq
#align mv_polynomial.decidable_eq_mv_polynomial MvPolynomial.decidableEqMvPolynomial
+-/
instance [CommSemiring R] : CommSemiring (MvPolynomial σ R) :=
AddMonoidAlgebra.commSemiring
@@ -135,152 +139,308 @@ instance [Monoid R] [CommSemiring S₁] [DistribMulAction R S₁] [DistribMulAct
instance [CommSemiring R] [CommSemiring S₁] [Algebra R S₁] : Algebra R (MvPolynomial σ S₁) :=
AddMonoidAlgebra.algebra
+/- warning: mv_polynomial.is_scalar_tower' -> MvPolynomial.isScalarTower' is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : Algebra.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2)], IsScalarTower.{u1, max u3 u2, max u3 u2} R (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (SMulZeroClass.toHasSmul.{u1, max u3 u2} R (MvPolynomial.{u3, u2} σ S₁ _inst_2) (AddZeroClass.toHasZero.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (AddMonoid.toAddZeroClass.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (AddCommMonoid.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u1, max u3 u2} R (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (AddMonoid.toAddZeroClass.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (AddCommMonoid.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u1, max u3 u2} R (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (AddMonoid.toAddZeroClass.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (AddCommMonoid.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))))))) (Module.toMulActionWithZero.{u1, max u3 u2} R (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))))) (MvPolynomial.module.{u1, u2, u3} R S₁ σ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (Algebra.toModule.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) _inst_3)))))) (Mul.toSMul.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Distrib.toHasMul.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toDistrib.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))))))) (SMulZeroClass.toHasSmul.{u1, max u3 u2} R (MvPolynomial.{u3, u2} σ S₁ _inst_2) (AddZeroClass.toHasZero.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (AddMonoid.toAddZeroClass.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (AddCommMonoid.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u1, max u3 u2} R (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (AddMonoid.toAddZeroClass.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (AddCommMonoid.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u1, max u3 u2} R (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (AddMonoid.toAddZeroClass.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (AddCommMonoid.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))))))) (Module.toMulActionWithZero.{u1, max u3 u2} R (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))))) (MvPolynomial.module.{u1, u2, u3} R S₁ σ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (Algebra.toModule.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) _inst_3))))))
+but is expected to have type
+ forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : Algebra.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2)], IsScalarTower.{u1, max u2 u3, max u2 u3} R (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Algebra.toSMul.{u1, max u2 u3} R (MvPolynomial.{u3, u2} σ S₁ _inst_2) _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)) (MvPolynomial.algebra.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 _inst_3)) (Algebra.toSMul.{max u2 u3, max u2 u3} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)) (Algebra.id.{max u2 u3} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))) (Algebra.toSMul.{u1, max u2 u3} R (MvPolynomial.{u3, u2} σ S₁ _inst_2) _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)) (MvPolynomial.algebra.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 _inst_3))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.is_scalar_tower' MvPolynomial.isScalarTower'ₓ'. -/
-- Register with high priority to avoid timeout in `data.mv_polynomial.pderiv`
-instance is_scalar_tower' [CommSemiring R] [CommSemiring S₁] [Algebra R S₁] :
+instance isScalarTower' [CommSemiring R] [CommSemiring S₁] [Algebra R S₁] :
IsScalarTower R (MvPolynomial σ S₁) (MvPolynomial σ S₁) :=
IsScalarTower.right
-#align mv_polynomial.is_scalar_tower' MvPolynomial.is_scalar_tower'
+#align mv_polynomial.is_scalar_tower' MvPolynomial.isScalarTower'
+#print MvPolynomial.unique /-
/-- If `R` is a subsingleton, then `mv_polynomial σ R` has a unique element -/
instance unique [CommSemiring R] [Subsingleton R] : Unique (MvPolynomial σ R) :=
AddMonoidAlgebra.unique
#align mv_polynomial.unique MvPolynomial.unique
+-/
end Instances
variable [CommSemiring R] [CommSemiring S₁] {p q : MvPolynomial σ R}
+#print MvPolynomial.monomial /-
/-- `monomial s a` is the monomial with coefficient `a` and exponents given by `s` -/
def monomial (s : σ →₀ ℕ) : R →ₗ[R] MvPolynomial σ R :=
lsingle s
#align mv_polynomial.monomial MvPolynomial.monomial
+-/
+/- warning: mv_polynomial.single_eq_monomial -> MvPolynomial.single_eq_monomial is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (s : Finsupp.{u2, 0} σ Nat Nat.hasZero) (a : R), Eq.{max (succ u2) (succ u1)} (Finsupp.{u2, u1} (Finsupp.{u2, 0} σ Nat Nat.hasZero) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (Finsupp.single.{u2, u1} (Finsupp.{u2, 0} σ Nat Nat.hasZero) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) s a) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) a)
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (a : R), Eq.{max (succ u2) (succ u1)} (Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (Finsupp.single.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)) s a) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a)
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.single_eq_monomial MvPolynomial.single_eq_monomialₓ'. -/
theorem single_eq_monomial (s : σ →₀ ℕ) (a : R) : single s a = monomial s a :=
rfl
#align mv_polynomial.single_eq_monomial MvPolynomial.single_eq_monomial
+/- warning: mv_polynomial.mul_def -> MvPolynomial.mul_def is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {p : MvPolynomial.{u2, u1} σ R _inst_1} {q : MvPolynomial.{u2, u1} σ R _inst_1}, Eq.{succ (max u2 u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) p q) (Finsupp.sum.{u2, u1, max u2 u1} (Finsupp.{u2, 0} σ Nat Nat.hasZero) R (MvPolynomial.{u2, u1} σ R _inst_1) (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (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))))) p (fun (m : Finsupp.{u2, 0} σ Nat Nat.hasZero) (a : R) => Finsupp.sum.{u2, u1, max u2 u1} (Finsupp.{u2, 0} σ Nat Nat.hasZero) R (MvPolynomial.{u2, u1} σ R _inst_1) (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (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))))) q (fun (n : Finsupp.{u2, 0} σ Nat Nat.hasZero) (b : R) => coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 (HAdd.hAdd.{u2, u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (instHAdd.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.add.{u2, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) m n)) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) a b))))
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {p : MvPolynomial.{u1, u2} σ R _inst_1} {q : MvPolynomial.{u1, u2} σ R _inst_1}, Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u1, u2} σ R _inst_1) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) p q) (Finsupp.sum.{u1, u2, max u2 u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) p (fun (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (a : R) => Finsupp.sum.{u1, u2, max u2 u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) q (fun (n : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (b : R) => FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 (HAdd.hAdd.{u1, u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHAdd.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.add.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) m n)) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) a b))))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.mul_def MvPolynomial.mul_defₓ'. -/
theorem mul_def : p * q = p.Sum fun m a => q.Sum fun n b => monomial (m + n) (a * b) :=
rfl
#align mv_polynomial.mul_def MvPolynomial.mul_def
+#print MvPolynomial.C /-
/-- `C a` is the constant polynomial with value `a` -/
-def c : R →+* MvPolynomial σ R :=
+def C : R →+* MvPolynomial σ R :=
{ singleZeroRingHom with toFun := monomial 0 }
-#align mv_polynomial.C MvPolynomial.c
+#align mv_polynomial.C MvPolynomial.C
+-/
variable (R σ)
-theorem algebraMap_eq : algebraMap R (MvPolynomial σ R) = c :=
+/- warning: mv_polynomial.algebra_map_eq -> MvPolynomial.algebraMap_eq is a dubious translation:
+lean 3 declaration is
+ forall (R : Type.{u1}) (σ : Type.{u2}) [_inst_1 : CommSemiring.{u1} R], Eq.{max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (algebraMap.{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))) (MvPolynomial.C.{u1, u2} R σ _inst_1)
+but is expected to have type
+ forall (R : Type.{u2}) (σ : Type.{u1}) [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} (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)))) (algebraMap.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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.C.{u2, u1} R σ _inst_1)
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.algebra_map_eq MvPolynomial.algebraMap_eqₓ'. -/
+theorem algebraMap_eq : algebraMap R (MvPolynomial σ R) = C :=
rfl
#align mv_polynomial.algebra_map_eq MvPolynomial.algebraMap_eq
variable {R σ}
+#print MvPolynomial.X /-
/-- `X n` is the degree `1` monomial $X_n$. -/
-def x (n : σ) : MvPolynomial σ R :=
+def X (n : σ) : MvPolynomial σ R :=
monomial (single n 1) 1
-#align mv_polynomial.X MvPolynomial.x
+#align mv_polynomial.X MvPolynomial.X
+-/
+/- warning: mv_polynomial.monomial_left_injective -> MvPolynomial.monomial_left_injective is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {r : R}, (Ne.{succ u1} R r (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) -> (Function.Injective.{succ u2, max (succ u2) (succ u1)} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (MvPolynomial.{u2, u1} σ R _inst_1) (fun (s : Finsupp.{u2, 0} σ Nat Nat.hasZero) => coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) r))
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {r : R}, (Ne.{succ u2} R r (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) -> (Function.Injective.{succ u1, max (succ u2) (succ u1)} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (fun (s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) r))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.monomial_left_injective MvPolynomial.monomial_left_injectiveₓ'. -/
theorem monomial_left_injective {r : R} (hr : r ≠ 0) :
Function.Injective fun s : σ →₀ ℕ => monomial s r :=
Finsupp.single_left_injective hr
#align mv_polynomial.monomial_left_injective MvPolynomial.monomial_left_injective
+/- warning: mv_polynomial.monomial_left_inj -> MvPolynomial.monomial_left_inj is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {s : Finsupp.{u2, 0} σ Nat Nat.hasZero} {t : Finsupp.{u2, 0} σ Nat Nat.hasZero} {r : R}, (Ne.{succ u1} R r (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) -> (Iff (Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) r) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 t) r)) (Eq.{succ u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) s t))
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} {t : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} {r : R}, (Ne.{succ u2} R r (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) -> (Iff (Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) r) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 t) r)) (Eq.{succ u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) s t))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.monomial_left_inj MvPolynomial.monomial_left_injₓ'. -/
@[simp]
theorem monomial_left_inj {s t : σ →₀ ℕ} {r : R} (hr : r ≠ 0) :
monomial s r = monomial t r ↔ s = t :=
Finsupp.single_left_inj hr
#align mv_polynomial.monomial_left_inj MvPolynomial.monomial_left_inj
-theorem c_apply : (c a : MvPolynomial σ R) = monomial 0 a :=
+/- warning: mv_polynomial.C_apply -> MvPolynomial.C_apply is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} {a : R} [_inst_1 : CommSemiring.{u1} R], Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 (OfNat.ofNat.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (OfNat.mk.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (Zero.zero.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.zero.{u2, 0} σ Nat Nat.hasZero))))) a)
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (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) a) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 (OfNat.ofNat.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) 0 (Zero.toOfNat0.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.zero.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))))) a)
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.C_apply MvPolynomial.C_applyₓ'. -/
+theorem C_apply : (C a : MvPolynomial σ R) = monomial 0 a :=
rfl
-#align mv_polynomial.C_apply MvPolynomial.c_apply
-
-@[simp]
-theorem c_0 : c 0 = (0 : MvPolynomial σ R) := by simp [C_apply, monomial]
-#align mv_polynomial.C_0 MvPolynomial.c_0
-
-@[simp]
-theorem c_1 : c 1 = (1 : MvPolynomial σ R) :=
+#align mv_polynomial.C_apply MvPolynomial.C_apply
+
+/- warning: mv_polynomial.C_0 -> MvPolynomial.C_0 is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R], Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) (OfNat.ofNat.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) 0 (OfNat.mk.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) 0 (Zero.zero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MulZeroClass.toHasZero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toMulZeroClass.{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)))))))))
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{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 (_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) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) (OfNat.ofNat.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) 0 (Zero.toOfNat0.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (CommMonoidWithZero.toZero.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toCommMonoidWithZero.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.C_0 MvPolynomial.C_0ₓ'. -/
+@[simp]
+theorem C_0 : C 0 = (0 : MvPolynomial σ R) := by simp [C_apply, monomial]
+#align mv_polynomial.C_0 MvPolynomial.C_0
+
+/- warning: mv_polynomial.C_1 -> MvPolynomial.C_1 is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R], Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) (OfNat.ofNat.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) 1 (OfNat.mk.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) 1 (One.one.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (AddMonoidWithOne.toOne.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (AddCommMonoidWithOne.toAddMonoidWithOne.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toAddCommMonoidWithOne.{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)))))))))
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R (CommSemiring.toSemiring.{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 (_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) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (OfNat.ofNat.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) 1 (One.toOfNat1.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toOne.{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)))))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.C_1 MvPolynomial.C_1ₓ'. -/
+@[simp]
+theorem C_1 : C 1 = (1 : MvPolynomial σ R) :=
rfl
-#align mv_polynomial.C_1 MvPolynomial.c_1
-
-theorem c_mul_monomial : c a * monomial s a' = monomial s (a * a') := by
+#align mv_polynomial.C_1 MvPolynomial.C_1
+
+/- warning: mv_polynomial.C_mul_monomial -> MvPolynomial.C_mul_monomial is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} {a : R} {a' : R} {s : Finsupp.{u2, 0} σ Nat Nat.hasZero} [_inst_1 : CommSemiring.{u1} R], Eq.{succ (max u2 u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) a')) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) a a'))
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} {a' : R} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) a a')) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a') ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) a a')) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} 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 (_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) a) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a')) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) a a'))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.C_mul_monomial MvPolynomial.C_mul_monomialₓ'. -/
+theorem C_mul_monomial : C a * monomial s a' = monomial s (a * a') := by
simp [C_apply, monomial, single_mul_single]
-#align mv_polynomial.C_mul_monomial MvPolynomial.c_mul_monomial
+#align mv_polynomial.C_mul_monomial MvPolynomial.C_mul_monomial
+/- warning: mv_polynomial.C_add -> MvPolynomial.C_add is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} {a : R} {a' : R} [_inst_1 : CommSemiring.{u1} R], Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) (HAdd.hAdd.{u1, u1, u1} R R R (instHAdd.{u1} R (Distrib.toHasAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) a a')) (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHAdd.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasAdd.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a'))
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} {a' : R} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (HAdd.hAdd.{u2, u2, u2} R R R (instHAdd.{u2} R (Distrib.toAdd.{u2} R (NonUnitalNonAssocSemiring.toDistrib.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) a a')) (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) (HAdd.hAdd.{u2, u2, u2} R R R (instHAdd.{u2} R (Distrib.toAdd.{u2} R (NonUnitalNonAssocSemiring.toDistrib.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) a a')) (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a') ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (HAdd.hAdd.{u2, u2, u2} R R R (instHAdd.{u2} R (Distrib.toAdd.{u2} R (NonUnitalNonAssocSemiring.toDistrib.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) a a')) (instHAdd.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Distrib.toAdd.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toDistrib.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} 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 (_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) a) (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) a'))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.C_add MvPolynomial.C_addₓ'. -/
@[simp]
-theorem c_add : (c (a + a') : MvPolynomial σ R) = c a + c a' :=
+theorem C_add : (C (a + a') : MvPolynomial σ R) = C a + C a' :=
single_add _ _ _
-#align mv_polynomial.C_add MvPolynomial.c_add
-
-@[simp]
-theorem c_mul : (c (a * a') : MvPolynomial σ R) = c a * c a' :=
- c_mul_monomial.symm
-#align mv_polynomial.C_mul MvPolynomial.c_mul
-
-@[simp]
-theorem c_pow (a : R) (n : ℕ) : (c (a ^ n) : MvPolynomial σ R) = c a ^ n := by
+#align mv_polynomial.C_add MvPolynomial.C_add
+
+/- warning: mv_polynomial.C_mul -> MvPolynomial.C_mul is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} {a : R} {a' : R} [_inst_1 : CommSemiring.{u1} R], Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) a a')) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a'))
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} {a' : R} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) a a')) (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) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) a a')) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a') ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) a a')) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} 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 (_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) a) (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) a'))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.C_mul MvPolynomial.C_mulₓ'. -/
+@[simp]
+theorem C_mul : (C (a * a') : MvPolynomial σ R) = C a * C a' :=
+ C_mul_monomial.symm
+#align mv_polynomial.C_mul MvPolynomial.C_mul
+
+/- warning: mv_polynomial.C_pow -> MvPolynomial.C_pow is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (a : R) (n : Nat), Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) a n)) (HPow.hPow.{max u2 u1, 0, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) Nat (MvPolynomial.{u2, u1} σ R _inst_1) (instHPow.{max u2 u1, 0} (MvPolynomial.{u2, u1} σ R _inst_1) Nat (Monoid.Pow.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MonoidWithZero.toMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a) n)
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (a : R) (n : Nat), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (HPow.hPow.{u2, 0, u2} R Nat R (instHPow.{u2, 0} R Nat (Monoid.Pow.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) a n)) (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) (HPow.hPow.{u2, 0, u2} R Nat R (instHPow.{u2, 0} R Nat (Monoid.Pow.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) a n)) (HPow.hPow.{max u2 u1, 0, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) Nat ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (instHPow.{max u2 u1, 0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) Nat (Monoid.Pow.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MonoidWithZero.toMonoid.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toMonoidWithZero.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} 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 (_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) a) n)
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.C_pow MvPolynomial.C_powₓ'. -/
+@[simp]
+theorem C_pow (a : R) (n : ℕ) : (C (a ^ n) : MvPolynomial σ R) = C a ^ n := by
induction n <;> simp [pow_succ, *]
-#align mv_polynomial.C_pow MvPolynomial.c_pow
-
-theorem c_injective (σ : Type _) (R : Type _) [CommSemiring R] :
- Function.Injective (c : R → MvPolynomial σ R) :=
+#align mv_polynomial.C_pow MvPolynomial.C_pow
+
+/- warning: mv_polynomial.C_injective -> MvPolynomial.C_injective is a dubious translation:
+lean 3 declaration is
+ forall (σ : Type.{u1}) (R : Type.{u2}) [_inst_3 : CommSemiring.{u2} R], Function.Injective.{succ u2, max (succ u1) (succ u2)} R (MvPolynomial.{u1, u2} σ R _inst_3) (coeFn.{max (succ u2) (succ (max u1 u2)), max (succ u2) (succ (max u1 u2))} (RingHom.{u2, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_3) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_3) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_3)))) (fun (_x : RingHom.{u2, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_3) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_3) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_3)))) => R -> (MvPolynomial.{u1, u2} σ R _inst_3)) (RingHom.hasCoeToFun.{u2, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_3) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_3) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_3)))) (MvPolynomial.C.{u2, u1} R σ _inst_3))
+but is expected to have type
+ forall (σ : Type.{u2}) (R : Type.{u1}) [_inst_3 : CommSemiring.{u1} R], Function.Injective.{succ u1, max (succ u2) (succ u1)} R (MvPolynomial.{u2, u1} σ R _inst_3) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (RingHom.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u2, u1} σ R _inst_3) _x) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (RingHom.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3)))) R (MvPolynomial.{u2, u1} σ R _inst_3) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)))) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3))))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (RingHom.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3)))) R (MvPolynomial.{u2, u1} σ R _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3)))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u1, max u2 u1} (RingHom.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3)))) R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3))) (RingHom.instRingHomClassRingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3))))))) (MvPolynomial.C.{u1, u2} R σ _inst_3))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.C_injective MvPolynomial.C_injectiveₓ'. -/
+theorem C_injective (σ : Type _) (R : Type _) [CommSemiring R] :
+ Function.Injective (C : R → MvPolynomial σ R) :=
Finsupp.single_injective _
-#align mv_polynomial.C_injective MvPolynomial.c_injective
-
-theorem c_surjective {R : Type _} [CommSemiring R] (σ : Type _) [IsEmpty σ] :
- Function.Surjective (c : R → MvPolynomial σ R) :=
+#align mv_polynomial.C_injective MvPolynomial.C_injective
+
+/- warning: mv_polynomial.C_surjective -> MvPolynomial.C_surjective is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} [_inst_3 : CommSemiring.{u1} R] (σ : Type.{u2}) [_inst_4 : IsEmpty.{succ u2} σ], Function.Surjective.{succ u1, max (succ u2) (succ u1)} R (MvPolynomial.{u2, u1} σ R _inst_3) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_3)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3)))) (MvPolynomial.C.{u1, u2} R σ _inst_3))
+but is expected to have type
+ forall {R : Type.{u2}} [_inst_3 : CommSemiring.{u2} R] (σ : Type.{u1}) [_inst_4 : IsEmpty.{succ u1} σ], Function.Surjective.{succ u2, max (succ u2) (succ u1)} R (MvPolynomial.{u1, u2} σ R _inst_3) (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_3) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_3) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_3) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_3)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_3) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (RingHom.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_3) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_3) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_3) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_3)))) R (MvPolynomial.{u1, u2} σ R _inst_3) (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)))) (NonUnitalNonAssocSemiring.toMul.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_3) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_3) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_3) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_3))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (RingHom.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_3) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_3) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_3) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_3)))) R (MvPolynomial.{u1, u2} σ R _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_3) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_3) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_3) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_3)))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u2, max u1 u2} (RingHom.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_3) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_3) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_3) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_3)))) R (MvPolynomial.{u1, u2} σ R _inst_3) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_3) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_3) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_3))) (RingHom.instRingHomClassRingHom.{u2, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_3) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_3) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_3) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_3))))))) (MvPolynomial.C.{u2, u1} R σ _inst_3))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.C_surjective MvPolynomial.C_surjectiveₓ'. -/
+theorem C_surjective {R : Type _} [CommSemiring R] (σ : Type _) [IsEmpty σ] :
+ Function.Surjective (C : R → MvPolynomial σ R) :=
by
refine' fun p => ⟨p.toFun 0, Finsupp.ext fun a => _⟩
simpa [(Finsupp.ext isEmptyElim : a = 0), C_apply, monomial]
-#align mv_polynomial.C_surjective MvPolynomial.c_surjective
+#align mv_polynomial.C_surjective MvPolynomial.C_surjective
+/- warning: mv_polynomial.C_inj -> MvPolynomial.C_inj is a dubious translation:
+lean 3 declaration is
+ forall {σ : Type.{u1}} (R : Type.{u2}) [_inst_3 : CommSemiring.{u2} R] (r : R) (s : R), Iff (Eq.{max (succ u1) (succ u2)} (MvPolynomial.{u1, u2} σ R _inst_3) (coeFn.{max (succ u2) (succ (max u1 u2)), max (succ u2) (succ (max u1 u2))} (RingHom.{u2, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_3) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_3) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_3)))) (fun (_x : RingHom.{u2, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_3) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_3) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_3)))) => R -> (MvPolynomial.{u1, u2} σ R _inst_3)) (RingHom.hasCoeToFun.{u2, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_3) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_3) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_3)))) (MvPolynomial.C.{u2, u1} R σ _inst_3) r) (coeFn.{max (succ u2) (succ (max u1 u2)), max (succ u2) (succ (max u1 u2))} (RingHom.{u2, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_3) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_3) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_3)))) (fun (_x : RingHom.{u2, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_3) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_3) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_3)))) => R -> (MvPolynomial.{u1, u2} σ R _inst_3)) (RingHom.hasCoeToFun.{u2, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_3) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_3) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_3)))) (MvPolynomial.C.{u2, u1} R σ _inst_3) s)) (Eq.{succ u2} R r s)
+but is expected to have type
+ forall {σ : Type.{u2}} (R : Type.{u1}) [_inst_3 : CommSemiring.{u1} R] (r : R) (s : R), Iff (Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u2, u1} σ R _inst_3) r) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (RingHom.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u2, u1} σ R _inst_3) _x) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (RingHom.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3)))) R (MvPolynomial.{u2, u1} σ R _inst_3) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)))) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3))))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (RingHom.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3)))) R (MvPolynomial.{u2, u1} σ R _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3)))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u1, max u2 u1} (RingHom.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3)))) R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3))) (RingHom.instRingHomClassRingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3))))))) (MvPolynomial.C.{u1, u2} R σ _inst_3) r) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (RingHom.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u2, u1} σ R _inst_3) _x) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (RingHom.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3)))) R (MvPolynomial.{u2, u1} σ R _inst_3) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)))) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3))))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (RingHom.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3)))) R (MvPolynomial.{u2, u1} σ R _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3)))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u1, max u2 u1} (RingHom.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3)))) R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3))) (RingHom.instRingHomClassRingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_3) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_3) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_3))))))) (MvPolynomial.C.{u1, u2} R σ _inst_3) s)) (Eq.{succ u1} R r s)
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.C_inj MvPolynomial.C_injₓ'. -/
@[simp]
-theorem c_inj {σ : Type _} (R : Type _) [CommSemiring R] (r s : R) :
- (c r : MvPolynomial σ R) = c s ↔ r = s :=
- (c_injective σ R).eq_iff
-#align mv_polynomial.C_inj MvPolynomial.c_inj
+theorem C_inj {σ : Type _} (R : Type _) [CommSemiring R] (r s : R) :
+ (C r : MvPolynomial σ R) = C s ↔ r = s :=
+ (C_injective σ R).eq_iff
+#align mv_polynomial.C_inj MvPolynomial.C_inj
+#print MvPolynomial.infinite_of_infinite /-
instance infinite_of_infinite (σ : Type _) (R : Type _) [CommSemiring R] [Infinite R] :
Infinite (MvPolynomial σ R) :=
- Infinite.of_injective c (c_injective _ _)
+ Infinite.of_injective C (C_injective _ _)
#align mv_polynomial.infinite_of_infinite MvPolynomial.infinite_of_infinite
+-/
+#print MvPolynomial.infinite_of_nonempty /-
instance infinite_of_nonempty (σ : Type _) (R : Type _) [Nonempty σ] [CommSemiring R]
[Nontrivial R] : Infinite (MvPolynomial σ R) :=
Infinite.of_injective ((fun s : σ →₀ ℕ => monomial s 1) ∘ single (Classical.arbitrary σ)) <|
(monomial_left_injective one_ne_zero).comp (Finsupp.single_injective _)
#align mv_polynomial.infinite_of_nonempty MvPolynomial.infinite_of_nonempty
+-/
-theorem c_eq_coe_nat (n : ℕ) : (c ↑n : MvPolynomial σ R) = n := by
+/- warning: mv_polynomial.C_eq_coe_nat -> MvPolynomial.C_eq_coe_nat is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (n : Nat), Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Nat R (HasLiftT.mk.{1, succ u1} Nat R (CoeTCₓ.coe.{1, succ u1} Nat R (Nat.castCoe.{u1} R (AddMonoidWithOne.toNatCast.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))) n)) ((fun (a : Type) (b : Sort.{max (succ u2) (succ u1)}) [self : HasLiftT.{1, max (succ u2) (succ u1)} a b] => self.0) Nat (MvPolynomial.{u2, u1} σ R _inst_1) (HasLiftT.mk.{1, max (succ u2) (succ u1)} Nat (MvPolynomial.{u2, u1} σ R _inst_1) (CoeTCₓ.coe.{1, max (succ u2) (succ u1)} Nat (MvPolynomial.{u2, u1} σ R _inst_1) (Nat.castCoe.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (AddMonoidWithOne.toNatCast.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (AddCommMonoidWithOne.toAddMonoidWithOne.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toAddCommMonoidWithOne.{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))))))))) n)
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (n : Nat), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (Nat.cast.{u2} R (Semiring.toNatCast.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) n)) (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) (Nat.cast.{u2} R (Semiring.toNatCast.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) n)) (Nat.cast.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (Nat.cast.{u2} R (Semiring.toNatCast.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) n)) (Semiring.toNatCast.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (Nat.cast.{u2} R (Semiring.toNatCast.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) n)) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (Nat.cast.{u2} R (Semiring.toNatCast.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) n)) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1))) n)
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.C_eq_coe_nat MvPolynomial.C_eq_coe_natₓ'. -/
+theorem C_eq_coe_nat (n : ℕ) : (C ↑n : MvPolynomial σ R) = n := by
induction n <;> simp [Nat.succ_eq_add_one, *]
-#align mv_polynomial.C_eq_coe_nat MvPolynomial.c_eq_coe_nat
-
-theorem c_mul' : MvPolynomial.c a * p = a • p :=
+#align mv_polynomial.C_eq_coe_nat MvPolynomial.C_eq_coe_nat
+
+/- warning: mv_polynomial.C_mul' -> MvPolynomial.C_mul' is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} {a : R} [_inst_1 : CommSemiring.{u1} R] {p : MvPolynomial.{u2, u1} σ R _inst_1}, Eq.{succ (max u2 u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a) p) (SMul.smul.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (SMulZeroClass.toHasSmul.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (AddZeroClass.toHasZero.{max u2 u1} (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)))))))) (SMulWithZero.toSmulZeroClass.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{max u2 u1} (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)))))))) (MulActionWithZero.toSMulWithZero.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{max u2 u1} (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)))))))) (Module.toMulActionWithZero.{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))))) (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))))))) a p)
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} [_inst_1 : CommSemiring.{u2} R] {p : MvPolynomial.{u1, u2} σ R _inst_1}, Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u1, u2} σ R _inst_1) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} 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 (_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) a) p) (HSMul.hSMul.{u2, max u2 u1, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (Algebra.toSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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)))) a p)
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.C_mul' MvPolynomial.C_mul'ₓ'. -/
+theorem C_mul' : MvPolynomial.C a * p = a • p :=
(Algebra.smul_def a p).symm
-#align mv_polynomial.C_mul' MvPolynomial.c_mul'
-
-theorem smul_eq_c_mul (p : MvPolynomial σ R) (a : R) : a • p = c a * p :=
- c_mul'.symm
-#align mv_polynomial.smul_eq_C_mul MvPolynomial.smul_eq_c_mul
-
-theorem c_eq_smul_one : (c a : MvPolynomial σ R) = a • 1 := by rw [← C_mul', mul_one]
-#align mv_polynomial.C_eq_smul_one MvPolynomial.c_eq_smul_one
-
-theorem x_injective [Nontrivial R] : Function.Injective (x : σ → MvPolynomial σ R) :=
+#align mv_polynomial.C_mul' MvPolynomial.C_mul'
+
+/- warning: mv_polynomial.smul_eq_C_mul -> MvPolynomial.smul_eq_C_mul is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (p : MvPolynomial.{u2, u1} σ R _inst_1) (a : R), Eq.{succ (max u2 u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (SMul.smul.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (SMulZeroClass.toHasSmul.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (AddZeroClass.toHasZero.{max u2 u1} (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)))))))) (SMulWithZero.toSmulZeroClass.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{max u2 u1} (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)))))))) (MulActionWithZero.toSMulWithZero.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{max u2 u1} (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)))))))) (Module.toMulActionWithZero.{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))))) (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))))))) a p) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a) p)
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (p : MvPolynomial.{u1, u2} σ R _inst_1) (a : R), Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u1, u2} σ R _inst_1) (HSMul.hSMul.{u2, max u2 u1, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (Algebra.toSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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)))) a p) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} 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 (_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) a) p)
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.smul_eq_C_mul MvPolynomial.smul_eq_C_mulₓ'. -/
+theorem smul_eq_C_mul (p : MvPolynomial σ R) (a : R) : a • p = C a * p :=
+ C_mul'.symm
+#align mv_polynomial.smul_eq_C_mul MvPolynomial.smul_eq_C_mul
+
+/- warning: mv_polynomial.C_eq_smul_one -> MvPolynomial.C_eq_smul_one is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} {a : R} [_inst_1 : CommSemiring.{u1} R], Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a) (SMul.smul.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (SMulZeroClass.toHasSmul.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (AddZeroClass.toHasZero.{max u2 u1} (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)))))))) (SMulWithZero.toSmulZeroClass.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{max u2 u1} (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)))))))) (MulActionWithZero.toSMulWithZero.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{max u2 u1} (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)))))))) (Module.toMulActionWithZero.{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))))) (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))))))) a (OfNat.ofNat.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) 1 (OfNat.mk.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) 1 (One.one.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (AddMonoidWithOne.toOne.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (AddCommMonoidWithOne.toAddMonoidWithOne.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toAddCommMonoidWithOne.{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))))))))))
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (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) a) (HSMul.hSMul.{u2, max u2 u1, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (Algebra.toSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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)))) a (OfNat.ofNat.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) 1 (One.toOfNat1.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toOne.{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))))))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.C_eq_smul_one MvPolynomial.C_eq_smul_oneₓ'. -/
+theorem C_eq_smul_one : (C a : MvPolynomial σ R) = a • 1 := by rw [← C_mul', mul_one]
+#align mv_polynomial.C_eq_smul_one MvPolynomial.C_eq_smul_one
+
+/- warning: mv_polynomial.X_injective -> MvPolynomial.X_injective is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_3 : Nontrivial.{u1} R], Function.Injective.{succ u2, max (succ u2) (succ u1)} σ (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.X.{u1, u2} R σ _inst_1)
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_3 : Nontrivial.{u2} R], Function.Injective.{succ u1, max (succ u2) (succ u1)} σ (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.X.{u2, u1} R σ _inst_1)
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.X_injective MvPolynomial.X_injectiveₓ'. -/
+theorem X_injective [Nontrivial R] : Function.Injective (X : σ → MvPolynomial σ R) :=
(monomial_left_injective one_ne_zero).comp (Finsupp.single_left_injective one_ne_zero)
-#align mv_polynomial.X_injective MvPolynomial.x_injective
-
-@[simp]
-theorem x_inj [Nontrivial R] (m n : σ) : x m = (x n : MvPolynomial σ R) ↔ m = n :=
- x_injective.eq_iff
-#align mv_polynomial.X_inj MvPolynomial.x_inj
-
+#align mv_polynomial.X_injective MvPolynomial.X_injective
+
+/- warning: mv_polynomial.X_inj -> MvPolynomial.X_inj is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_3 : Nontrivial.{u1} R] (m : σ) (n : σ), Iff (Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.X.{u1, u2} R σ _inst_1 m) (MvPolynomial.X.{u1, u2} R σ _inst_1 n)) (Eq.{succ u2} σ m n)
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_3 : Nontrivial.{u2} R] (m : σ) (n : σ), Iff (Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.X.{u2, u1} R σ _inst_1 m) (MvPolynomial.X.{u2, u1} R σ _inst_1 n)) (Eq.{succ u1} σ m n)
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.X_inj MvPolynomial.X_injₓ'. -/
+@[simp]
+theorem X_inj [Nontrivial R] (m n : σ) : X m = (X n : MvPolynomial σ R) ↔ m = n :=
+ X_injective.eq_iff
+#align mv_polynomial.X_inj MvPolynomial.X_inj
+
+/- warning: mv_polynomial.monomial_pow -> MvPolynomial.monomial_pow is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} {a : R} {e : Nat} {s : Finsupp.{u2, 0} σ Nat Nat.hasZero} [_inst_1 : CommSemiring.{u1} R], Eq.{succ (max u2 u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (HPow.hPow.{max u2 u1, 0, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) Nat (MvPolynomial.{u2, u1} σ R _inst_1) (instHPow.{max u2 u1, 0} (MvPolynomial.{u2, u1} σ R _inst_1) Nat (Monoid.Pow.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MonoidWithZero.toMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) a) e) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 (SMul.smul.{0, u2} Nat (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.hasNatScalar.{u2, 0} σ Nat Nat.addMonoid) e s)) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) a e))
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} {e : Nat} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (HPow.hPow.{max u2 u1, 0, max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) Nat ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (instHPow.{max u2 u1, 0} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) Nat (Monoid.Pow.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MonoidWithZero.toMonoid.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toMonoidWithZero.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a) e) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 (HSMul.hSMul.{0, u1, u1} Nat (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHSMul.{0, u1} Nat (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.hasNatScalar.{u1, 0} σ Nat Nat.addMonoid)) e s)) (HPow.hPow.{u2, 0, u2} R Nat R (instHPow.{u2, 0} R Nat (Monoid.Pow.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) a e))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.monomial_pow MvPolynomial.monomial_powₓ'. -/
theorem monomial_pow : monomial s a ^ e = monomial (e • s) (a ^ e) :=
AddMonoidAlgebra.single_pow e
#align mv_polynomial.monomial_pow MvPolynomial.monomial_pow
+/- warning: mv_polynomial.monomial_mul -> MvPolynomial.monomial_mul is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {s : Finsupp.{u2, 0} σ Nat Nat.hasZero} {s' : Finsupp.{u2, 0} σ Nat Nat.hasZero} {a : R} {b : R}, Eq.{succ (max u2 u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) a) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s') b)) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 (HAdd.hAdd.{u2, u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (instHAdd.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.add.{u2, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) s s')) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) a b))
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} {s' : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} {a : R} {b : R}, Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) b) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s') b)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 (HAdd.hAdd.{u1, u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHAdd.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.add.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) s s')) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) a b))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.monomial_mul MvPolynomial.monomial_mulₓ'. -/
@[simp]
theorem monomial_mul {s s' : σ →₀ ℕ} {a b : R} :
monomial s a * monomial s' b = monomial (s + s') (a * b) :=
@@ -289,90 +449,194 @@ theorem monomial_mul {s s' : σ →₀ ℕ} {a b : R} :
variable (σ R)
+#print MvPolynomial.monomialOneHom /-
/-- `λ s, monomial s 1` as a homomorphism. -/
def monomialOneHom : Multiplicative (σ →₀ ℕ) →* MvPolynomial σ R :=
AddMonoidAlgebra.of _ _
#align mv_polynomial.monomial_one_hom MvPolynomial.monomialOneHom
+-/
variable {σ R}
+/- warning: mv_polynomial.monomial_one_hom_apply -> MvPolynomial.monomialOneHom_apply is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} {s : Finsupp.{u2, 0} σ Nat Nat.hasZero} [_inst_1 : CommSemiring.{u1} R], Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ (max u2 u1)) (succ u2), max (succ u2) (succ (max u2 u1))} (MonoidHom.{u2, max u2 u1} (Multiplicative.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (MvPolynomial.{u2, u1} σ R _inst_1) (Multiplicative.mulOneClass.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.addZeroClass.{u2, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (MulZeroOneClass.toMulOneClass.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toMulZeroOneClass.{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)))))) (fun (_x : MonoidHom.{u2, max u2 u1} (Multiplicative.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (MvPolynomial.{u2, u1} σ R _inst_1) (Multiplicative.mulOneClass.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.addZeroClass.{u2, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (MulZeroOneClass.toMulOneClass.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toMulZeroOneClass.{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)))))) => (Multiplicative.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) -> (MvPolynomial.{u2, u1} σ R _inst_1)) (MonoidHom.hasCoeToFun.{u2, max u2 u1} (Multiplicative.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (MvPolynomial.{u2, u1} σ R _inst_1) (Multiplicative.mulOneClass.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.addZeroClass.{u2, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (MulZeroOneClass.toMulOneClass.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toMulZeroOneClass.{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)))))) (MvPolynomial.monomialOneHom.{u1, u2} R σ _inst_1) s) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) => MvPolynomial.{u1, u2} σ R _inst_1) s) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (MonoidHom.{u1, max u2 u1} (Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.{u1, u2} σ R _inst_1) (Multiplicative.mulOneClass.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (MulZeroOneClass.toMulOneClass.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (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)))))) (Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (fun (_x : Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (MulHomClass.toFunLike.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} (Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.{u1, u2} σ R _inst_1) (Multiplicative.mulOneClass.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (MulZeroOneClass.toMulOneClass.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (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)))))) (Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.{u1, u2} σ R _inst_1) (MulOneClass.toMul.{u1} (Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Multiplicative.mulOneClass.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)))) (MulOneClass.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MulZeroOneClass.toMulOneClass.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (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)))))) (MonoidHomClass.toMulHomClass.{max u2 u1, u1, max u2 u1} (MonoidHom.{u1, max u2 u1} (Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.{u1, u2} σ R _inst_1) (Multiplicative.mulOneClass.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (MulZeroOneClass.toMulOneClass.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (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)))))) (Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.{u1, u2} σ R _inst_1) (Multiplicative.mulOneClass.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (MulZeroOneClass.toMulOneClass.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (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))))) (MonoidHom.monoidHomClass.{u1, max u2 u1} (Multiplicative.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.{u1, u2} σ R _inst_1) (Multiplicative.mulOneClass.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.addZeroClass.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (MulZeroOneClass.toMulOneClass.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toMulZeroOneClass.{max u2 u1} (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)))))))) (MvPolynomial.monomialOneHom.{u2, u1} R σ _inst_1) s) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.monomial_one_hom_apply MvPolynomial.monomialOneHom_applyₓ'. -/
@[simp]
theorem monomialOneHom_apply : monomialOneHom R σ s = (monomial s 1 : MvPolynomial σ R) :=
rfl
#align mv_polynomial.monomial_one_hom_apply MvPolynomial.monomialOneHom_apply
-theorem x_pow_eq_monomial : x n ^ e = monomial (single n e) (1 : R) := by simp [X, monomial_pow]
-#align mv_polynomial.X_pow_eq_monomial MvPolynomial.x_pow_eq_monomial
-
-theorem monomial_add_single : monomial (s + single n e) a = monomial s a * x n ^ e := by
+/- warning: mv_polynomial.X_pow_eq_monomial -> MvPolynomial.X_pow_eq_monomial is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} {e : Nat} {n : σ} [_inst_1 : CommSemiring.{u1} R], Eq.{succ (max u2 u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (HPow.hPow.{max u2 u1, 0, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) Nat (MvPolynomial.{u2, u1} σ R _inst_1) (instHPow.{max u2 u1, 0} (MvPolynomial.{u2, u1} σ R _inst_1) Nat (Monoid.Pow.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MonoidWithZero.toMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (MvPolynomial.X.{u1, u2} R σ _inst_1 n) e) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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.single.{u2, 0} σ Nat Nat.hasZero n e)) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} {e : Nat} {n : σ} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u1, u2} σ R _inst_1) (HPow.hPow.{max u1 u2, 0, max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (MvPolynomial.{u1, u2} σ R _inst_1) (instHPow.{max u1 u2, 0} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (Monoid.Pow.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (MvPolynomial.X.{u2, u1} R σ _inst_1 n) e) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 (Finsupp.single.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) n e)) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.X_pow_eq_monomial MvPolynomial.X_pow_eq_monomialₓ'. -/
+theorem X_pow_eq_monomial : X n ^ e = monomial (single n e) (1 : R) := by simp [X, monomial_pow]
+#align mv_polynomial.X_pow_eq_monomial MvPolynomial.X_pow_eq_monomial
+
+/- warning: mv_polynomial.monomial_add_single -> MvPolynomial.monomial_add_single is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} {a : R} {e : Nat} {n : σ} {s : Finsupp.{u2, 0} σ Nat Nat.hasZero} [_inst_1 : CommSemiring.{u1} R], Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 (HAdd.hAdd.{u2, u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (instHAdd.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.add.{u2, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) s (Finsupp.single.{u2, 0} σ Nat Nat.hasZero n e))) a) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) a) (HPow.hPow.{max u2 u1, 0, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) Nat (MvPolynomial.{u2, u1} σ R _inst_1) (instHPow.{max u2 u1, 0} (MvPolynomial.{u2, u1} σ R _inst_1) Nat (Monoid.Pow.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MonoidWithZero.toMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (MvPolynomial.X.{u1, u2} R σ _inst_1 n) e))
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} {e : Nat} {n : σ} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 (HAdd.hAdd.{u1, u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHAdd.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.add.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) s (Finsupp.single.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) n e))) a) (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a) (HPow.hPow.{max u1 u2, 0, max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (MvPolynomial.{u1, u2} σ R _inst_1) (instHPow.{max u1 u2, 0} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (Monoid.Pow.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (MvPolynomial.X.{u2, u1} R σ _inst_1 n) e))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.monomial_add_single MvPolynomial.monomial_add_singleₓ'. -/
+theorem monomial_add_single : monomial (s + single n e) a = monomial s a * X n ^ e := by
rw [X_pow_eq_monomial, monomial_mul, mul_one]
#align mv_polynomial.monomial_add_single MvPolynomial.monomial_add_single
-theorem monomial_single_add : monomial (single n e + s) a = x n ^ e * monomial s a := by
+/- warning: mv_polynomial.monomial_single_add -> MvPolynomial.monomial_single_add is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} {a : R} {e : Nat} {n : σ} {s : Finsupp.{u2, 0} σ Nat Nat.hasZero} [_inst_1 : CommSemiring.{u1} R], Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 (HAdd.hAdd.{u2, u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (instHAdd.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.add.{u2, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Finsupp.single.{u2, 0} σ Nat Nat.hasZero n e) s)) a) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (HPow.hPow.{max u2 u1, 0, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) Nat (MvPolynomial.{u2, u1} σ R _inst_1) (instHPow.{max u2 u1, 0} (MvPolynomial.{u2, u1} σ R _inst_1) Nat (Monoid.Pow.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MonoidWithZero.toMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (MvPolynomial.X.{u1, u2} R σ _inst_1 n) e) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) a))
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} {e : Nat} {n : σ} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 (HAdd.hAdd.{u1, u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHAdd.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.add.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Finsupp.single.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) n e) s)) a) (HMul.hMul.{max u1 u2, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (instHMul.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) (HPow.hPow.{max u1 u2, 0, max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (MvPolynomial.{u1, u2} σ R _inst_1) (instHPow.{max u1 u2, 0} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (Monoid.Pow.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (MvPolynomial.X.{u2, u1} R σ _inst_1 n) e) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.monomial_single_add MvPolynomial.monomial_single_addₓ'. -/
+theorem monomial_single_add : monomial (single n e + s) a = X n ^ e * monomial s a := by
rw [X_pow_eq_monomial, monomial_mul, one_mul]
#align mv_polynomial.monomial_single_add MvPolynomial.monomial_single_add
-theorem c_mul_x_pow_eq_monomial {s : σ} {a : R} {n : ℕ} : c a * x s ^ n = monomial (single s n) a :=
+/- warning: mv_polynomial.C_mul_X_pow_eq_monomial -> MvPolynomial.C_mul_X_pow_eq_monomial is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {s : σ} {a : R} {n : Nat}, Eq.{succ (max u2 u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a) (HPow.hPow.{max u2 u1, 0, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) Nat (MvPolynomial.{u2, u1} σ R _inst_1) (instHPow.{max u2 u1, 0} (MvPolynomial.{u2, u1} σ R _inst_1) Nat (Monoid.Pow.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MonoidWithZero.toMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (MvPolynomial.X.{u1, u2} R σ _inst_1 s) n)) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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.single.{u2, 0} σ Nat Nat.hasZero s n)) a)
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {s : σ} {a : R} {n : Nat}, Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} 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 (_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) a) (HPow.hPow.{max u1 u2, 0, max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (MvPolynomial.{u1, u2} σ R _inst_1) (instHPow.{max u1 u2, 0} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (Monoid.Pow.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (MvPolynomial.X.{u2, u1} R σ _inst_1 s) n)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 (Finsupp.single.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) s n)) a)
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.C_mul_X_pow_eq_monomial MvPolynomial.C_mul_X_pow_eq_monomialₓ'. -/
+theorem C_mul_X_pow_eq_monomial {s : σ} {a : R} {n : ℕ} : C a * X s ^ n = monomial (single s n) a :=
by rw [← zero_add (single s n), monomial_add_single, C_apply]
-#align mv_polynomial.C_mul_X_pow_eq_monomial MvPolynomial.c_mul_x_pow_eq_monomial
-
-theorem c_mul_x_eq_monomial {s : σ} {a : R} : c a * x s = monomial (single s 1) a := by
+#align mv_polynomial.C_mul_X_pow_eq_monomial MvPolynomial.C_mul_X_pow_eq_monomial
+
+/- warning: mv_polynomial.C_mul_X_eq_monomial -> MvPolynomial.C_mul_X_eq_monomial is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {s : σ} {a : R}, Eq.{succ (max u2 u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a) (MvPolynomial.X.{u1, u2} R σ _inst_1 s)) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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.single.{u2, 0} σ Nat Nat.hasZero s (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) a)
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {s : σ} {a : R}, Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} 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 (_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) a) (MvPolynomial.X.{u2, u1} R σ _inst_1 s)) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 (Finsupp.single.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) s (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) a)
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.C_mul_X_eq_monomial MvPolynomial.C_mul_X_eq_monomialₓ'. -/
+theorem C_mul_X_eq_monomial {s : σ} {a : R} : C a * X s = monomial (single s 1) a := by
rw [← C_mul_X_pow_eq_monomial, pow_one]
-#align mv_polynomial.C_mul_X_eq_monomial MvPolynomial.c_mul_x_eq_monomial
+#align mv_polynomial.C_mul_X_eq_monomial MvPolynomial.C_mul_X_eq_monomial
+/- warning: mv_polynomial.monomial_zero -> MvPolynomial.monomial_zero is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {s : Finsupp.{u2, 0} σ Nat Nat.hasZero}, Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) (OfNat.ofNat.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) 0 (OfNat.mk.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) 0 (Zero.zero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MulZeroClass.toHasZero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toMulZeroClass.{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)))))))))
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)}, Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) (OfNat.ofNat.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) 0 (Zero.toOfNat0.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) (CommMonoidWithZero.toZero.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) (CommSemiring.toCommMonoidWithZero.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.monomial_zero MvPolynomial.monomial_zeroₓ'. -/
@[simp]
theorem monomial_zero {s : σ →₀ ℕ} : monomial s (0 : R) = 0 :=
single_zero _
#align mv_polynomial.monomial_zero MvPolynomial.monomial_zero
+/- warning: mv_polynomial.monomial_zero' -> MvPolynomial.monomial_zero' is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R], Eq.{max (succ u2) (succ u1)} ((fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (MvPolynomial.monomial.{u1, u2} R σ _inst_1 (OfNat.ofNat.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (OfNat.mk.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (Zero.zero.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.zero.{u2, 0} σ Nat Nat.hasZero)))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 (OfNat.ofNat.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (OfNat.mk.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (Zero.zero.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.zero.{u2, 0} σ Nat Nat.hasZero)))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1))
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} (forall (a : R), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 (OfNat.ofNat.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) 0 (Zero.toOfNat0.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.zero.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)))))) (FunLike.coe.{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))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.monomial_zero' MvPolynomial.monomial_zero'ₓ'. -/
@[simp]
-theorem monomial_zero' : (monomial (0 : σ →₀ ℕ) : R → MvPolynomial σ R) = c :=
+theorem monomial_zero' : (monomial (0 : σ →₀ ℕ) : R → MvPolynomial σ R) = C :=
rfl
#align mv_polynomial.monomial_zero' MvPolynomial.monomial_zero'
+/- warning: mv_polynomial.monomial_eq_zero -> MvPolynomial.monomial_eq_zero is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {s : Finsupp.{u2, 0} σ Nat Nat.hasZero} {b : R}, Iff (Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) b) (OfNat.ofNat.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) 0 (OfNat.mk.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) 0 (Zero.zero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MulZeroClass.toHasZero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toMulZeroClass.{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)))))))))) (Eq.{succ u1} R b (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} {b : R}, Iff (Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) b) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) b) (OfNat.ofNat.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) b) 0 (Zero.toOfNat0.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) b) (CommMonoidWithZero.toZero.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) b) (CommSemiring.toCommMonoidWithZero.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) b) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))))) (Eq.{succ u2} R b (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.monomial_eq_zero MvPolynomial.monomial_eq_zeroₓ'. -/
@[simp]
theorem monomial_eq_zero {s : σ →₀ ℕ} {b : R} : monomial s b = 0 ↔ b = 0 :=
Finsupp.single_eq_zero
#align mv_polynomial.monomial_eq_zero MvPolynomial.monomial_eq_zero
+/- warning: mv_polynomial.sum_monomial_eq -> MvPolynomial.sum_monomial_eq is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {A : Type.{u3}} [_inst_3 : AddCommMonoid.{u3} A] {u : Finsupp.{u2, 0} σ Nat Nat.hasZero} {r : R} {b : (Finsupp.{u2, 0} σ Nat Nat.hasZero) -> R -> A}, (Eq.{succ u3} A (b u (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) (OfNat.ofNat.{u3} A 0 (OfNat.mk.{u3} A 0 (Zero.zero.{u3} A (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A _inst_3))))))) -> (Eq.{succ u3} A (Finsupp.sum.{u2, u1, u3} (Finsupp.{u2, 0} σ Nat Nat.hasZero) R A (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) _inst_3 (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 u) r) b) (b u r))
+but is expected to have type
+ forall {R : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] {A : Type.{u2}} [_inst_3 : AddCommMonoid.{u2} A] {u : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} {r : R} {b : (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) -> R -> A}, (Eq.{succ u2} A (b u (OfNat.ofNat.{u3} R 0 (Zero.toOfNat0.{u3} R (CommMonoidWithZero.toZero.{u3} R (CommSemiring.toCommMonoidWithZero.{u3} R _inst_1))))) (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (AddMonoid.toZero.{u2} A (AddCommMonoid.toAddMonoid.{u2} A _inst_3))))) -> (Eq.{succ u2} A (Finsupp.sum.{u1, u3, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R A (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) _inst_3 (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearMap.{u3, u3, u3, max u3 u1} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) 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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u3} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 u) r) b) (b u r))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.sum_monomial_eq MvPolynomial.sum_monomial_eqₓ'. -/
@[simp]
theorem sum_monomial_eq {A : Type _} [AddCommMonoid A] {u : σ →₀ ℕ} {r : R} {b : (σ →₀ ℕ) → R → A}
(w : b u 0 = 0) : Sum (monomial u r) b = b u r :=
sum_single_index w
#align mv_polynomial.sum_monomial_eq MvPolynomial.sum_monomial_eq
+/- warning: mv_polynomial.sum_C -> MvPolynomial.sum_C is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} {a : R} [_inst_1 : CommSemiring.{u1} R] {A : Type.{u3}} [_inst_3 : AddCommMonoid.{u3} A] {b : (Finsupp.{u2, 0} σ Nat Nat.hasZero) -> R -> A}, (Eq.{succ u3} A (b (OfNat.ofNat.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (OfNat.mk.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (Zero.zero.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.zero.{u2, 0} σ Nat Nat.hasZero)))) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) (OfNat.ofNat.{u3} A 0 (OfNat.mk.{u3} A 0 (Zero.zero.{u3} A (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A _inst_3))))))) -> (Eq.{succ u3} A (Finsupp.sum.{u2, u1, u3} (Finsupp.{u2, 0} σ Nat Nat.hasZero) R A (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) _inst_3 (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a) b) (b (OfNat.ofNat.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (OfNat.mk.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (Zero.zero.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.zero.{u2, 0} σ Nat Nat.hasZero)))) a))
+but is expected to have type
+ forall {R : Type.{u3}} {σ : Type.{u1}} {a : R} [_inst_1 : CommSemiring.{u3} R] {A : Type.{u2}} [_inst_3 : AddCommMonoid.{u2} A] {b : (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) -> R -> A}, (Eq.{succ u2} A (b (OfNat.ofNat.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) 0 (Zero.toOfNat0.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.zero.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)))) (OfNat.ofNat.{u3} R 0 (Zero.toOfNat0.{u3} R (CommMonoidWithZero.toZero.{u3} R (CommSemiring.toCommMonoidWithZero.{u3} R _inst_1))))) (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (AddMonoid.toZero.{u2} A (AddCommMonoid.toAddMonoid.{u2} A _inst_3))))) -> (Eq.{succ u2} A (Finsupp.sum.{u1, u3, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R A (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) _inst_3 (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u3} σ R _inst_1) _x) (MulHomClass.toFunLike.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (RingHom.instRingHomClassRingHom.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (MvPolynomial.C.{u3, u1} R σ _inst_1) a) b) (b (OfNat.ofNat.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) 0 (Zero.toOfNat0.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.zero.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)))) a))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.sum_C MvPolynomial.sum_Cₓ'. -/
@[simp]
-theorem sum_c {A : Type _} [AddCommMonoid A] {b : (σ →₀ ℕ) → R → A} (w : b 0 0 = 0) :
- Sum (c a) b = b 0 a :=
+theorem sum_C {A : Type _} [AddCommMonoid A] {b : (σ →₀ ℕ) → R → A} (w : b 0 0 = 0) :
+ Sum (C a) b = b 0 a :=
sum_monomial_eq w
-#align mv_polynomial.sum_C MvPolynomial.sum_c
-
+#align mv_polynomial.sum_C MvPolynomial.sum_C
+
+/- warning: mv_polynomial.monomial_sum_one -> MvPolynomial.monomial_sum_one is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {α : Type.{u3}} (s : Finset.{u3} α) (f : α -> (Finsupp.{u2, 0} σ Nat Nat.hasZero)), Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 (Finset.sum.{u2, u3} (Finsupp.{u2, 0} σ Nat Nat.hasZero) α (Finsupp.addCommMonoid.{u2, 0} σ Nat Nat.addCommMonoid) s (fun (i : α) => f i))) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) (Finset.prod.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) α (CommSemiring.toCommMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) s (fun (i : α) => coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 (f i)) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))))
+but is expected to have type
+ forall {R : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] {α : Type.{u2}} (s : Finset.{u2} α) (f : α -> (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))), Eq.{max (succ u3) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u3} σ R _inst_1) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearMap.{u3, u3, u3, max u3 u1} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) 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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u3} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 (Finset.sum.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) α (Finsupp.addCommMonoid.{u1, 0} σ Nat Nat.addCommMonoid) s (fun (i : α) => f i))) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) (Finset.prod.{max u1 u3, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u3} σ R _inst_1) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) α (CommSemiring.toCommMonoid.{max u1 u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u3} σ R _inst_1) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) s (fun (i : α) => FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearMap.{u3, u3, u3, max u3 u1} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) 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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u3} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 (f i)) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.monomial_sum_one MvPolynomial.monomial_sum_oneₓ'. -/
theorem monomial_sum_one {α : Type _} (s : Finset α) (f : α → σ →₀ ℕ) :
(monomial (∑ i in s, f i) 1 : MvPolynomial σ R) = ∏ i in s, monomial (f i) 1 :=
(monomialOneHom R σ).map_prod (fun i => Multiplicative.ofAdd (f i)) s
#align mv_polynomial.monomial_sum_one MvPolynomial.monomial_sum_one
+/- warning: mv_polynomial.monomial_sum_index -> MvPolynomial.monomial_sum_index is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {α : Type.{u3}} (s : Finset.{u3} α) (f : α -> (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (a : R), Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 (Finset.sum.{u2, u3} (Finsupp.{u2, 0} σ Nat Nat.hasZero) α (Finsupp.addCommMonoid.{u2, 0} σ Nat Nat.addCommMonoid) s (fun (i : α) => f i))) a) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a) (Finset.prod.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) α (CommSemiring.toCommMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) s (fun (i : α) => coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 (f i)) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))))
+but is expected to have type
+ forall {R : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] {α : Type.{u2}} (s : Finset.{u2} α) (f : α -> (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (a : R), Eq.{max (succ u3) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearMap.{u3, u3, u3, max u3 u1} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) 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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u3} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 (Finset.sum.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) α (Finsupp.addCommMonoid.{u1, 0} σ Nat Nat.addCommMonoid) s (fun (i : α) => f i))) a) (HMul.hMul.{max u3 u1, max u1 u3, max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u3} σ R _inst_1) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (instHMul.{max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (CommSemiring.toSemiring.{max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u3} σ R _inst_1) _x) (MulHomClass.toFunLike.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (RingHom.instRingHomClassRingHom.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (MvPolynomial.C.{u3, u1} R σ _inst_1) a) (Finset.prod.{max u1 u3, u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u3} σ R _inst_1) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) α (CommSemiring.toCommMonoid.{max u1 u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u3} σ R _inst_1) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) s (fun (i : α) => FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearMap.{u3, u3, u3, max u3 u1} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) 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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u3} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (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 (f i)) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))))))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.monomial_sum_index MvPolynomial.monomial_sum_indexₓ'. -/
theorem monomial_sum_index {α : Type _} (s : Finset α) (f : α → σ →₀ ℕ) (a : R) :
- monomial (∑ i in s, f i) a = c a * ∏ i in s, monomial (f i) 1 := by
+ monomial (∑ i in s, f i) a = C a * ∏ i in s, monomial (f i) 1 := by
rw [← monomial_sum_one, C_mul', ← (monomial _).map_smul, smul_eq_mul, mul_one]
#align mv_polynomial.monomial_sum_index MvPolynomial.monomial_sum_index
+/- warning: mv_polynomial.monomial_finsupp_sum_index -> MvPolynomial.monomial_finsupp_sum_index is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {α : Type.{u3}} {β : Type.{u4}} [_inst_3 : Zero.{u4} β] (f : Finsupp.{u3, u4} α β _inst_3) (g : α -> β -> (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (a : R), Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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.sum.{u3, u4, u2} α β (Finsupp.{u2, 0} σ Nat Nat.hasZero) _inst_3 (Finsupp.addCommMonoid.{u2, 0} σ Nat Nat.addCommMonoid) f g)) a) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a) (Finsupp.prod.{u3, u4, max u2 u1} α β (MvPolynomial.{u2, u1} σ R _inst_1) _inst_3 (CommSemiring.toCommMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) f (fun (a : α) (b : β) => coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 (g a b)) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))))
+but is expected to have type
+ forall {R : Type.{u4}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u4} R] {α : Type.{u3}} {β : Type.{u2}} [_inst_3 : Zero.{u2} β] (f : Finsupp.{u3, u2} α β _inst_3) (g : α -> β -> (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (a : R), Eq.{max (succ u4) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u4} σ R _inst_1) a) (FunLike.coe.{max (succ u1) (succ u4), succ u4, max (succ u1) (succ u4)} (LinearMap.{u4, u4, u4, max u4 u1} R R (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) R (MvPolynomial.{u1, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (MvPolynomial.module.{u4, u4, u1} R R σ (CommSemiring.toSemiring.{u4} R _inst_1) _inst_1 (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u4} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u4, max u1 u4} R R R (MvPolynomial.{u1, u4} σ R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (MvPolynomial.module.{u4, u4, u1} R R σ (CommSemiring.toSemiring.{u4} R _inst_1) _inst_1 (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (MvPolynomial.monomial.{u4, u1} R σ _inst_1 (Finsupp.sum.{u3, u2, u1} α β (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) _inst_3 (Finsupp.addCommMonoid.{u1, 0} σ Nat Nat.addCommMonoid) f g)) a) (HMul.hMul.{max u4 u1, max u1 u4, max u4 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u4} σ R _inst_1) a) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u4} σ R _inst_1) (OfNat.ofNat.{u4} R 1 (One.toOfNat1.{u4} R (Semiring.toOne.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u4} σ R _inst_1) a) (instHMul.{max u4 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u4} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u4 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u4} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u4} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u4 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u4} σ R _inst_1) a) (CommSemiring.toSemiring.{max u4 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u4} σ R _inst_1) a) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1)))))) (FunLike.coe.{max (succ u1) (succ u4), succ u4, max (succ u1) (succ u4)} (RingHom.{u4, max u4 u1} R (MvPolynomial.{u1, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u4} σ R _inst_1) _x) (MulHomClass.toFunLike.{max u1 u4, u4, max u1 u4} (RingHom.{u4, max u4 u1} R (MvPolynomial.{u1, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u1, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (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))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u4, u4, max u1 u4} (RingHom.{u4, max u4 u1} R (MvPolynomial.{u1, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u1, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (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)))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u4, u4, max u1 u4} (RingHom.{u4, max u4 u1} R (MvPolynomial.{u1, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u1, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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))) (RingHom.instRingHomClassRingHom.{u4, max u1 u4} R (MvPolynomial.{u1, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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))))))) (MvPolynomial.C.{u4, u1} R σ _inst_1) a) (Finsupp.prod.{u3, u2, max u1 u4} α β ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u4} σ R _inst_1) (OfNat.ofNat.{u4} R 1 (One.toOfNat1.{u4} R (Semiring.toOne.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) _inst_3 (CommSemiring.toCommMonoid.{max u1 u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u4} σ R _inst_1) (OfNat.ofNat.{u4} R 1 (One.toOfNat1.{u4} R (Semiring.toOne.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1)) f (fun (a : α) (b : β) => FunLike.coe.{max (succ u1) (succ u4), succ u4, max (succ u1) (succ u4)} (LinearMap.{u4, u4, u4, max u4 u1} R R (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) R (MvPolynomial.{u1, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (MvPolynomial.module.{u4, u4, u1} R R σ (CommSemiring.toSemiring.{u4} R _inst_1) _inst_1 (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u4} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u4, max u1 u4} R R R (MvPolynomial.{u1, u4} σ R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (MvPolynomial.module.{u4, u4, u1} R R σ (CommSemiring.toSemiring.{u4} R _inst_1) _inst_1 (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (RingHom.id.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (MvPolynomial.monomial.{u4, u1} R σ _inst_1 (g a b)) (OfNat.ofNat.{u4} R 1 (One.toOfNat1.{u4} R (Semiring.toOne.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))))))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.monomial_finsupp_sum_index MvPolynomial.monomial_finsupp_sum_indexₓ'. -/
theorem monomial_finsupp_sum_index {α β : Type _} [Zero β] (f : α →₀ β) (g : α → β → σ →₀ ℕ)
- (a : R) : monomial (f.Sum g) a = c a * f.Prod fun a b => monomial (g a b) 1 :=
+ (a : R) : monomial (f.Sum g) a = C a * f.Prod fun a b => monomial (g a b) 1 :=
monomial_sum_index _ _ _
#align mv_polynomial.monomial_finsupp_sum_index MvPolynomial.monomial_finsupp_sum_index
+/- warning: mv_polynomial.monomial_eq_monomial_iff -> MvPolynomial.monomial_eq_monomial_iff is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {α : Type.{u2}} (a₁ : Finsupp.{u2, 0} α Nat Nat.hasZero) (a₂ : Finsupp.{u2, 0} α Nat Nat.hasZero) (b₁ : R) (b₂ : R), Iff (Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} α R _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} α R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 a₁) b₁) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} α R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 a₂) b₂)) (Or (And (Eq.{succ u2} (Finsupp.{u2, 0} α Nat Nat.hasZero) a₁ a₂) (Eq.{succ u1} R b₁ b₂)) (And (Eq.{succ u1} R b₁ (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) (Eq.{succ u1} R b₂ (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))))
+but is expected to have type
+ forall {R : Type.{u2}} [_inst_1 : CommSemiring.{u2} R] {α : Type.{u1}} (a₁ : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (a₂ : Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (b₁ : R) (b₂ : R), Iff (Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} α R _inst_1) b₁) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} α R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} α R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R α (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} α R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} α R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} α R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R α (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R α _inst_1 a₁) b₁) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} α R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} α R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R α (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} α R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} α R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} α R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R α (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R α _inst_1 a₂) b₂)) (Or (And (Eq.{succ u1} (Finsupp.{u1, 0} α Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) a₁ a₂) (Eq.{succ u2} R b₁ b₂)) (And (Eq.{succ u2} R b₁ (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) (Eq.{succ u2} R b₂ (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.monomial_eq_monomial_iff MvPolynomial.monomial_eq_monomial_iffₓ'. -/
theorem monomial_eq_monomial_iff {α : Type _} (a₁ a₂ : α →₀ ℕ) (b₁ b₂ : R) :
monomial a₁ b₁ = monomial a₂ b₂ ↔ a₁ = a₂ ∧ b₁ = b₂ ∨ b₁ = 0 ∧ b₂ = 0 :=
Finsupp.single_eq_single_iff _ _ _ _
#align mv_polynomial.monomial_eq_monomial_iff MvPolynomial.monomial_eq_monomial_iff
-theorem monomial_eq : monomial s a = c a * (s.Prod fun n e => x n ^ e : MvPolynomial σ R) := by
+/- warning: mv_polynomial.monomial_eq -> MvPolynomial.monomial_eq is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} {a : R} {s : Finsupp.{u2, 0} σ Nat Nat.hasZero} [_inst_1 : CommSemiring.{u1} R], Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) a) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a) (Finsupp.prod.{u2, 0, max u2 u1} σ Nat (MvPolynomial.{u2, u1} σ R _inst_1) Nat.hasZero (CommSemiring.toCommMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) s (fun (n : σ) (e : Nat) => HPow.hPow.{max u2 u1, 0, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) Nat (MvPolynomial.{u2, u1} σ R _inst_1) (instHPow.{max u2 u1, 0} (MvPolynomial.{u2, u1} σ R _inst_1) Nat (Monoid.Pow.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MonoidWithZero.toMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (MvPolynomial.X.{u1, u2} R σ _inst_1 n) e)))
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} 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 (_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) a) (Finsupp.prod.{u1, 0, max u2 u1} σ Nat (MvPolynomial.{u1, u2} σ R _inst_1) (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (CommSemiring.toCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) s (fun (n : σ) (e : Nat) => HPow.hPow.{max u1 u2, 0, max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (MvPolynomial.{u1, u2} σ R _inst_1) (instHPow.{max u1 u2, 0} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (Monoid.Pow.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (MvPolynomial.X.{u2, u1} R σ _inst_1 n) e)))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.monomial_eq MvPolynomial.monomial_eqₓ'. -/
+theorem monomial_eq : monomial s a = C a * (s.Prod fun n e => X n ^ e : MvPolynomial σ R) := by
simp only [X_pow_eq_monomial, ← monomial_finsupp_sum_index, Finsupp.sum_single]
#align mv_polynomial.monomial_eq MvPolynomial.monomial_eq
-theorem induction_on_monomial {M : MvPolynomial σ R → Prop} (h_C : ∀ a, M (c a))
- (h_X : ∀ p n, M p → M (p * x n)) : ∀ s a, M (monomial s a) :=
+/- warning: mv_polynomial.induction_on_monomial -> MvPolynomial.induction_on_monomial is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {M : (MvPolynomial.{u2, u1} σ R _inst_1) -> Prop}, (forall (a : R), M (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a)) -> (forall (p : MvPolynomial.{u2, u1} σ R _inst_1) (n : σ), (M p) -> (M (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) p (MvPolynomial.X.{u1, u2} R σ _inst_1 n)))) -> (forall (s : Finsupp.{u2, 0} σ Nat Nat.hasZero) (a : R), M (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) a))
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {M : (MvPolynomial.{u1, u2} σ R _inst_1) -> Prop}, (forall (a : R), M (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) a)) -> (forall (p : MvPolynomial.{u1, u2} σ R _inst_1) (n : σ), (M p) -> (M (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) p (MvPolynomial.X.{u2, u1} R σ _inst_1 n)))) -> (forall (s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (a : R), M (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.induction_on_monomial MvPolynomial.induction_on_monomialₓ'. -/
+theorem induction_on_monomial {M : MvPolynomial σ R → Prop} (h_C : ∀ a, M (C a))
+ (h_X : ∀ p n, M p → M (p * X n)) : ∀ s a, M (monomial s a) :=
by
intro s a
apply @Finsupp.induction σ ℕ _ _ s
@@ -388,6 +652,12 @@ theorem induction_on_monomial {M : MvPolynomial σ R → Prop} (h_C : ∀ a, M (
simp [add_comm, monomial_add_single, this]
#align mv_polynomial.induction_on_monomial MvPolynomial.induction_on_monomial
+/- warning: mv_polynomial.induction_on' -> MvPolynomial.induction_on' is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {P : (MvPolynomial.{u2, u1} σ R _inst_1) -> Prop} (p : MvPolynomial.{u2, u1} σ R _inst_1), (forall (u : Finsupp.{u2, 0} σ Nat Nat.hasZero) (a : R), P (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 u) a)) -> (forall (p : MvPolynomial.{u2, u1} σ R _inst_1) (q : MvPolynomial.{u2, u1} σ R _inst_1), (P p) -> (P q) -> (P (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHAdd.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasAdd.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) p q))) -> (P p)
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {P : (MvPolynomial.{u1, u2} σ R _inst_1) -> Prop} (p : MvPolynomial.{u1, u2} σ R _inst_1), (forall (u : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (a : R), P (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 u) a)) -> (forall (p : MvPolynomial.{u1, u2} σ R _inst_1) (q : MvPolynomial.{u1, u2} σ R _inst_1), (P p) -> (P q) -> (P (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHAdd.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (Distrib.toAdd.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))))) p q))) -> (P p)
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.induction_on' MvPolynomial.induction_on'ₓ'. -/
/-- Analog of `polynomial.induction_on'`.
To prove something about mv_polynomials,
it suffices to show the condition is closed under taking sums,
@@ -402,79 +672,145 @@ theorem induction_on' {P : MvPolynomial σ R → Prop} (p : MvPolynomial σ R)
fun a b f ha hb hPf => h2 _ _ (h1 _ _) hPf
#align mv_polynomial.induction_on' MvPolynomial.induction_on'
+/- warning: mv_polynomial.induction_on''' -> MvPolynomial.induction_on''' is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {M : (MvPolynomial.{u2, u1} σ R _inst_1) -> Prop} (p : MvPolynomial.{u2, u1} σ R _inst_1), (forall (a : R), M (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a)) -> (forall (a : Finsupp.{u2, 0} σ Nat Nat.hasZero) (b : R) (f : Finsupp.{u2, u1} (Finsupp.{u2, 0} σ Nat Nat.hasZero) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))), (Not (Membership.Mem.{u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasMem.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) a (Finsupp.support.{u2, u1} (Finsupp.{u2, 0} σ Nat Nat.hasZero) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) f))) -> (Ne.{succ u1} R b (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) -> (M f) -> (M (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHAdd.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasAdd.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 a) b) f))) -> (M p)
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {M : (MvPolynomial.{u1, u2} σ R _inst_1) -> Prop} (p : MvPolynomial.{u1, u2} σ R _inst_1), (forall (a : R), M (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) a)) -> (forall (a : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (b : R) (f : Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))), (Not (Membership.mem.{u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instMembershipFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) a (Finsupp.support.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)) f))) -> (Ne.{succ u2} R b (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) -> (M f) -> (M (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (instHAdd.{max u2 u1} (Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (Finsupp.add.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))))) ([mdata let_fun:1 (fun (this : Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) => this) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 a) b)]) f))) -> (M p)
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.induction_on''' MvPolynomial.induction_on'''ₓ'. -/
/-- Similar to `mv_polynomial.induction_on` but only a weak form of `h_add` is required.-/
-theorem induction_on''' {M : MvPolynomial σ R → Prop} (p : MvPolynomial σ R) (h_C : ∀ a, M (c a))
+theorem induction_on''' {M : MvPolynomial σ R → Prop} (p : MvPolynomial σ R) (h_C : ∀ a, M (C a))
(h_add_weak :
∀ (a : σ →₀ ℕ) (b : R) (f : (σ →₀ ℕ) →₀ R),
a ∉ f.support → b ≠ 0 → M f → M (monomial a b + f)) :
M p :=
- Finsupp.induction p (c_0.rec <| h_C 0) h_add_weak
+ Finsupp.induction p (C_0.rec <| h_C 0) h_add_weak
#align mv_polynomial.induction_on''' MvPolynomial.induction_on'''
+/- warning: mv_polynomial.induction_on'' -> MvPolynomial.induction_on'' is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {M : (MvPolynomial.{u2, u1} σ R _inst_1) -> Prop} (p : MvPolynomial.{u2, u1} σ R _inst_1), (forall (a : R), M (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a)) -> (forall (a : Finsupp.{u2, 0} σ Nat Nat.hasZero) (b : R) (f : Finsupp.{u2, u1} (Finsupp.{u2, 0} σ Nat Nat.hasZero) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))), (Not (Membership.Mem.{u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasMem.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) a (Finsupp.support.{u2, u1} (Finsupp.{u2, 0} σ Nat Nat.hasZero) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) f))) -> (Ne.{succ u1} R b (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) -> (M f) -> (M (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 a) b)) -> (M (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHAdd.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasAdd.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 a) b) f))) -> (forall (p : MvPolynomial.{u2, u1} σ R _inst_1) (n : σ), (M p) -> (M (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) p (MvPolynomial.X.{u1, u2} R σ _inst_1 n)))) -> (M p)
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {M : (MvPolynomial.{u1, u2} σ R _inst_1) -> Prop} (p : MvPolynomial.{u1, u2} σ R _inst_1), (forall (a : R), M (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) a)) -> (forall (a : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (b : R) (f : Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))), (Not (Membership.mem.{u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instMembershipFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) a (Finsupp.support.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)) f))) -> (Ne.{succ u2} R b (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) -> (M f) -> (M (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 a) b)) -> (M (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (instHAdd.{max u2 u1} (Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (Finsupp.add.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (AddMonoid.toAddZeroClass.{u2} R (AddMonoidWithOne.toAddMonoid.{u2} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} R (NonAssocSemiring.toAddCommMonoidWithOne.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))))) ([mdata let_fun:1 (fun (this : Finsupp.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) => this) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 a) b)]) f))) -> (forall (p : MvPolynomial.{u1, u2} σ R _inst_1) (n : σ), (M p) -> (M (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) p (MvPolynomial.X.{u2, u1} R σ _inst_1 n)))) -> (M p)
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.induction_on'' MvPolynomial.induction_on''ₓ'. -/
/-- Similar to `mv_polynomial.induction_on` but only a yet weaker form of `h_add` is required.-/
-theorem induction_on'' {M : MvPolynomial σ R → Prop} (p : MvPolynomial σ R) (h_C : ∀ a, M (c a))
+theorem induction_on'' {M : MvPolynomial σ R → Prop} (p : MvPolynomial σ R) (h_C : ∀ a, M (C a))
(h_add_weak :
∀ (a : σ →₀ ℕ) (b : R) (f : (σ →₀ ℕ) →₀ R),
a ∉ f.support → b ≠ 0 → M f → M (monomial a b) → M (monomial a b + f))
- (h_X : ∀ (p : MvPolynomial σ R) (n : σ), M p → M (p * MvPolynomial.x n)) : M p :=
+ (h_X : ∀ (p : MvPolynomial σ R) (n : σ), M p → M (p * MvPolynomial.X n)) : M p :=
induction_on''' p h_C fun a b f ha hb hf =>
h_add_weak a b f ha hb hf <| induction_on_monomial h_C h_X a b
#align mv_polynomial.induction_on'' MvPolynomial.induction_on''
+/- warning: mv_polynomial.induction_on -> MvPolynomial.induction_on is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {M : (MvPolynomial.{u2, u1} σ R _inst_1) -> Prop} (p : MvPolynomial.{u2, u1} σ R _inst_1), (forall (a : R), M (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a)) -> (forall (p : MvPolynomial.{u2, u1} σ R _inst_1) (q : MvPolynomial.{u2, u1} σ R _inst_1), (M p) -> (M q) -> (M (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHAdd.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasAdd.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) p q))) -> (forall (p : MvPolynomial.{u2, u1} σ R _inst_1) (n : σ), (M p) -> (M (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) p (MvPolynomial.X.{u1, u2} R σ _inst_1 n)))) -> (M p)
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {M : (MvPolynomial.{u1, u2} σ R _inst_1) -> Prop} (p : MvPolynomial.{u1, u2} σ R _inst_1), (forall (a : R), M (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) a)) -> (forall (p : MvPolynomial.{u1, u2} σ R _inst_1) (q : MvPolynomial.{u1, u2} σ R _inst_1), (M p) -> (M q) -> (M (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHAdd.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (Distrib.toAdd.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))))) p q))) -> (forall (p : MvPolynomial.{u1, u2} σ R _inst_1) (n : σ), (M p) -> (M (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) p (MvPolynomial.X.{u2, u1} R σ _inst_1 n)))) -> (M p)
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.induction_on MvPolynomial.induction_onₓ'. -/
/-- Analog of `polynomial.induction_on`.-/
@[recursor 5]
-theorem induction_on {M : MvPolynomial σ R → Prop} (p : MvPolynomial σ R) (h_C : ∀ a, M (c a))
- (h_add : ∀ p q, M p → M q → M (p + q)) (h_X : ∀ p n, M p → M (p * x n)) : M p :=
+theorem induction_on {M : MvPolynomial σ R → Prop} (p : MvPolynomial σ R) (h_C : ∀ a, M (C a))
+ (h_add : ∀ p q, M p → M q → M (p + q)) (h_X : ∀ p n, M p → M (p * X n)) : M p :=
induction_on'' p h_C (fun a b f ha hb hf hm => h_add (monomial a b) f hm hf) h_X
#align mv_polynomial.induction_on MvPolynomial.induction_on
+/- warning: mv_polynomial.ring_hom_ext -> MvPolynomial.ringHom_ext is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {A : Type.{u3}} [_inst_3 : Semiring.{u3} A] {f : RingHom.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3)} {g : RingHom.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3)}, (forall (r : R), Eq.{succ u3} A (coeFn.{max (succ (max u2 u1)) (succ u3), max (succ (max u2 u1)) (succ u3)} (RingHom.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3)) (fun (_x : RingHom.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3)) => (MvPolynomial.{u2, u1} σ R _inst_1) -> A) (RingHom.hasCoeToFun.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3)) f (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) r)) (coeFn.{max (succ (max u2 u1)) (succ u3), max (succ (max u2 u1)) (succ u3)} (RingHom.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3)) (fun (_x : RingHom.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3)) => (MvPolynomial.{u2, u1} σ R _inst_1) -> A) (RingHom.hasCoeToFun.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3)) g (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) r))) -> (forall (i : σ), Eq.{succ u3} A (coeFn.{max (succ (max u2 u1)) (succ u3), max (succ (max u2 u1)) (succ u3)} (RingHom.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3)) (fun (_x : RingHom.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3)) => (MvPolynomial.{u2, u1} σ R _inst_1) -> A) (RingHom.hasCoeToFun.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3)) f (MvPolynomial.X.{u1, u2} R σ _inst_1 i)) (coeFn.{max (succ (max u2 u1)) (succ u3), max (succ (max u2 u1)) (succ u3)} (RingHom.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3)) (fun (_x : RingHom.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3)) => (MvPolynomial.{u2, u1} σ R _inst_1) -> A) (RingHom.hasCoeToFun.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3)) g (MvPolynomial.X.{u1, u2} R σ _inst_1 i))) -> (Eq.{max (succ (max u2 u1)) (succ u3)} (RingHom.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3)) f g)
+but is expected to have type
+ forall {R : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] {A : Type.{u2}} [_inst_3 : Semiring.{u2} A] {f : RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)} {g : RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)}, (forall (r : R), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ R _inst_1) => A) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u3} σ R _inst_1) a) (MulHomClass.toFunLike.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (RingHom.instRingHomClassRingHom.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (MvPolynomial.C.{u3, u1} R σ _inst_1) r)) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u1), succ u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ R _inst_1) => A) _x) (MulHomClass.toFunLike.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) A (NonUnitalNonAssocSemiring.toMul.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3))) (NonUnitalRingHomClass.toMulHomClass.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (RingHomClass.toNonUnitalRingHomClass.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3) (RingHom.instRingHomClassRingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3))))) f (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u3} σ R _inst_1) _x) (MulHomClass.toFunLike.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (RingHom.instRingHomClassRingHom.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (MvPolynomial.C.{u3, u1} R σ _inst_1) r)) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u1), succ u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ R _inst_1) => A) _x) (MulHomClass.toFunLike.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) A (NonUnitalNonAssocSemiring.toMul.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3))) (NonUnitalRingHomClass.toMulHomClass.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (RingHomClass.toNonUnitalRingHomClass.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3) (RingHom.instRingHomClassRingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3))))) g (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u3} σ R _inst_1) _x) (MulHomClass.toFunLike.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (RingHom.instRingHomClassRingHom.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (MvPolynomial.C.{u3, u1} R σ _inst_1) r))) -> (forall (i : σ), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ R _inst_1) => A) (MvPolynomial.X.{u3, u1} R σ _inst_1 i)) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u1), succ u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ R _inst_1) => A) _x) (MulHomClass.toFunLike.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) A (NonUnitalNonAssocSemiring.toMul.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3))) (NonUnitalRingHomClass.toMulHomClass.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (RingHomClass.toNonUnitalRingHomClass.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3) (RingHom.instRingHomClassRingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3))))) f (MvPolynomial.X.{u3, u1} R σ _inst_1 i)) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u1), succ u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ R _inst_1) => A) _x) (MulHomClass.toFunLike.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) A (NonUnitalNonAssocSemiring.toMul.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3))) (NonUnitalRingHomClass.toMulHomClass.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (RingHomClass.toNonUnitalRingHomClass.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3) (RingHom.instRingHomClassRingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3))))) g (MvPolynomial.X.{u3, u1} R σ _inst_1 i))) -> (Eq.{max (max (succ u3) (succ u1)) (succ u2)} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) f g)
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.ring_hom_ext MvPolynomial.ringHom_extₓ'. -/
theorem ringHom_ext {A : Type _} [Semiring A] {f g : MvPolynomial σ R →+* A}
- (hC : ∀ r, f (c r) = g (c r)) (hX : ∀ i, f (x i) = g (x i)) : f = g :=
+ (hC : ∀ r, f (C r) = g (C r)) (hX : ∀ i, f (X i) = g (X i)) : f = g :=
by
ext
exacts[hC _, hX _]
#align mv_polynomial.ring_hom_ext MvPolynomial.ringHom_ext
+/- warning: mv_polynomial.ring_hom_ext' -> MvPolynomial.ringHom_ext' is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {A : Type.{u3}} [_inst_3 : Semiring.{u3} A] {f : RingHom.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3)} {g : RingHom.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3)}, (Eq.{max (succ u1) (succ u3)} (RingHom.{u1, u3} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} A _inst_3)) (RingHom.comp.{u1, max u2 u1, u3} R (MvPolynomial.{u2, u1} σ R _inst_1) A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3) f (MvPolynomial.C.{u1, u2} R σ _inst_1)) (RingHom.comp.{u1, max u2 u1, u3} R (MvPolynomial.{u2, u1} σ R _inst_1) A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3) g (MvPolynomial.C.{u1, u2} R σ _inst_1))) -> (forall (i : σ), Eq.{succ u3} A (coeFn.{max (succ (max u2 u1)) (succ u3), max (succ (max u2 u1)) (succ u3)} (RingHom.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3)) (fun (_x : RingHom.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3)) => (MvPolynomial.{u2, u1} σ R _inst_1) -> A) (RingHom.hasCoeToFun.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3)) f (MvPolynomial.X.{u1, u2} R σ _inst_1 i)) (coeFn.{max (succ (max u2 u1)) (succ u3), max (succ (max u2 u1)) (succ u3)} (RingHom.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3)) (fun (_x : RingHom.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3)) => (MvPolynomial.{u2, u1} σ R _inst_1) -> A) (RingHom.hasCoeToFun.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3)) g (MvPolynomial.X.{u1, u2} R σ _inst_1 i))) -> (Eq.{max (succ (max u2 u1)) (succ u3)} (RingHom.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u3} A _inst_3)) f g)
+but is expected to have type
+ forall {R : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] {A : Type.{u2}} [_inst_3 : Semiring.{u2} A] {f : RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)} {g : RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)}, (Eq.{max (succ u3) (succ u2)} (RingHom.{u3, u2} R A (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (RingHom.comp.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3) f (MvPolynomial.C.{u3, u1} R σ _inst_1)) (RingHom.comp.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3) g (MvPolynomial.C.{u3, u1} R σ _inst_1))) -> (forall (i : σ), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ R _inst_1) => A) (MvPolynomial.X.{u3, u1} R σ _inst_1 i)) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u1), succ u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ R _inst_1) => A) _x) (MulHomClass.toFunLike.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) A (NonUnitalNonAssocSemiring.toMul.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3))) (NonUnitalRingHomClass.toMulHomClass.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (RingHomClass.toNonUnitalRingHomClass.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3) (RingHom.instRingHomClassRingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3))))) f (MvPolynomial.X.{u3, u1} R σ _inst_1 i)) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u1), succ u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ R _inst_1) => A) _x) (MulHomClass.toFunLike.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) A (NonUnitalNonAssocSemiring.toMul.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3))) (NonUnitalRingHomClass.toMulHomClass.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (RingHomClass.toNonUnitalRingHomClass.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3) (RingHom.instRingHomClassRingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3))))) g (MvPolynomial.X.{u3, u1} R σ _inst_1 i))) -> (Eq.{max (max (succ u3) (succ u1)) (succ u2)} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) A (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} A _inst_3)) f g)
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.ring_hom_ext' MvPolynomial.ringHom_ext'ₓ'. -/
/-- See note [partially-applied ext lemmas]. -/
@[ext]
theorem ringHom_ext' {A : Type _} [Semiring A] {f g : MvPolynomial σ R →+* A}
- (hC : f.comp c = g.comp c) (hX : ∀ i, f (x i) = g (x i)) : f = g :=
+ (hC : f.comp C = g.comp C) (hX : ∀ i, f (X i) = g (X i)) : f = g :=
ringHom_ext (RingHom.ext_iff.1 hC) hX
#align mv_polynomial.ring_hom_ext' MvPolynomial.ringHom_ext'
-theorem hom_eq_hom [Semiring S₂] (f g : MvPolynomial σ R →+* S₂) (hC : f.comp c = g.comp c)
- (hX : ∀ n : σ, f (x n) = g (x n)) (p : MvPolynomial σ R) : f p = g p :=
+/- warning: mv_polynomial.hom_eq_hom -> MvPolynomial.hom_eq_hom is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {S₂ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_3 : Semiring.{u2} S₂] (f : RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ _inst_3)) (g : RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ _inst_3)), (Eq.{max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ _inst_3)) (RingHom.comp.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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))) (Semiring.toNonAssocSemiring.{u2} S₂ _inst_3) f (MvPolynomial.C.{u1, u3} R σ _inst_1)) (RingHom.comp.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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))) (Semiring.toNonAssocSemiring.{u2} S₂ _inst_3) g (MvPolynomial.C.{u1, u3} R σ _inst_1))) -> (forall (n : σ), Eq.{succ u2} S₂ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ _inst_3)) (fun (_x : RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ _inst_3)) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₂) (RingHom.hasCoeToFun.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ _inst_3)) f (MvPolynomial.X.{u1, u3} R σ _inst_1 n)) (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ _inst_3)) (fun (_x : RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ _inst_3)) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₂) (RingHom.hasCoeToFun.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ _inst_3)) g (MvPolynomial.X.{u1, u3} R σ _inst_1 n))) -> (forall (p : MvPolynomial.{u3, u1} σ R _inst_1), Eq.{succ u2} S₂ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ _inst_3)) (fun (_x : RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ _inst_3)) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₂) (RingHom.hasCoeToFun.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ _inst_3)) f p) (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ _inst_3)) (fun (_x : RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ _inst_3)) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₂) (RingHom.hasCoeToFun.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ _inst_3)) g p))
+but is expected to have type
+ forall {R : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_3 : Semiring.{u3} S₂] (f : RingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3)) (g : RingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3)), (Eq.{max (succ u2) (succ u3)} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ _inst_3)) (RingHom.comp.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u3} S₂ _inst_3) f (MvPolynomial.C.{u2, u1} R σ _inst_1)) (RingHom.comp.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u3} S₂ _inst_3) g (MvPolynomial.C.{u2, u1} R σ _inst_1))) -> (forall (n : σ), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) (MvPolynomial.X.{u2, u1} R σ _inst_1 n)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3)) (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 u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3)) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ _inst_3))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3)) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ _inst_3)) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3)) (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.{u3} S₂ _inst_3) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3))))) f (MvPolynomial.X.{u2, u1} R σ _inst_1 n)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3)) (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 u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3)) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ _inst_3))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3)) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ _inst_3)) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3)) (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.{u3} S₂ _inst_3) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3))))) g (MvPolynomial.X.{u2, u1} R σ _inst_1 n))) -> (forall (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) p) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3)) (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 u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3)) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ _inst_3))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3)) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ _inst_3)) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3)) (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.{u3} S₂ _inst_3) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3))))) f p) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3)) (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 u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3)) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ _inst_3))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3)) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ _inst_3)) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3)) (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.{u3} S₂ _inst_3) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₂ _inst_3))))) g p))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.hom_eq_hom MvPolynomial.hom_eq_homₓ'. -/
+theorem hom_eq_hom [Semiring S₂] (f g : MvPolynomial σ R →+* S₂) (hC : f.comp C = g.comp C)
+ (hX : ∀ n : σ, f (X n) = g (X n)) (p : MvPolynomial σ R) : f p = g p :=
RingHom.congr_fun (ringHom_ext' hC hX) p
#align mv_polynomial.hom_eq_hom MvPolynomial.hom_eq_hom
-theorem is_id (f : MvPolynomial σ R →+* MvPolynomial σ R) (hC : f.comp c = c)
- (hX : ∀ n : σ, f (x n) = x n) (p : MvPolynomial σ R) : f p = p :=
+/- warning: mv_polynomial.is_id -> MvPolynomial.is_id is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (f : RingHom.{max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (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))) (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)))), (Eq.{max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (RingHom.comp.{u1, max u2 u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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))) (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))) f (MvPolynomial.C.{u1, u2} R σ _inst_1)) (MvPolynomial.C.{u1, u2} R σ _inst_1)) -> (forall (n : σ), Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{succ (max u2 u1), succ (max u2 u1)} (RingHom.{max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (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))) (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)))) (fun (_x : RingHom.{max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (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))) (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)))) => (MvPolynomial.{u2, u1} σ R _inst_1) -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (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))) (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)))) f (MvPolynomial.X.{u1, u2} R σ _inst_1 n)) (MvPolynomial.X.{u1, u2} R σ _inst_1 n)) -> (forall (p : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{succ (max u2 u1), succ (max u2 u1)} (RingHom.{max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (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))) (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)))) (fun (_x : RingHom.{max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (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))) (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)))) => (MvPolynomial.{u2, u1} σ R _inst_1) -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (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))) (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)))) f p) p)
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (f : RingHom.{max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (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))) (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)))), (Eq.{max (succ u2) (succ u1)} (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)))) (RingHom.comp.{u2, max u2 u1, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (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))) (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))) f (MvPolynomial.C.{u2, u1} R σ _inst_1)) (MvPolynomial.C.{u2, u1} R σ _inst_1)) -> (forall (n : σ), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.X.{u2, u1} R σ _inst_1 n)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (RingHom.{max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (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))) (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.{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) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (MulHomClass.toFunLike.{max u2 u1, max u2 u1, max u2 u1} (RingHom.{max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (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))) (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.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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 u2 u1, max u2 u1, max u2 u1} (RingHom.{max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (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))) (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.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{max u2 u1} (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 u2 u1, max u2 u1, max u2 u1} (RingHom.{max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (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))) (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.{u1, u2} σ R _inst_1) (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))) (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.{max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (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))) (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))))))) f (MvPolynomial.X.{u2, u1} R σ _inst_1 n)) (MvPolynomial.X.{u2, u1} R σ _inst_1 n)) -> (forall (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u2} σ R _inst_1) p) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (RingHom.{max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (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))) (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.{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) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (MulHomClass.toFunLike.{max u2 u1, max u2 u1, max u2 u1} (RingHom.{max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (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))) (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.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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 u2 u1, max u2 u1, max u2 u1} (RingHom.{max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (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))) (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.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{max u2 u1} (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 u2 u1, max u2 u1, max u2 u1} (RingHom.{max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (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))) (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.{u1, u2} σ R _inst_1) (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))) (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.{max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (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))) (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))))))) f p) p)
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.is_id MvPolynomial.is_idₓ'. -/
+theorem is_id (f : MvPolynomial σ R →+* MvPolynomial σ R) (hC : f.comp C = C)
+ (hX : ∀ n : σ, f (X n) = X n) (p : MvPolynomial σ R) : f p = p :=
hom_eq_hom f (RingHom.id _) hC hX p
#align mv_polynomial.is_id MvPolynomial.is_id
+/- warning: mv_polynomial.alg_hom_ext' -> MvPolynomial.algHom_ext' is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {A : Type.{u3}} {B : Type.{u4}} [_inst_3 : CommSemiring.{u3} A] [_inst_4 : CommSemiring.{u4} B] [_inst_5 : Algebra.{u1, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3)] [_inst_6 : Algebra.{u1, u4} R B _inst_1 (CommSemiring.toSemiring.{u4} B _inst_4)] {f : AlgHom.{u1, max u2 u3, u4} R (MvPolynomial.{u2, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) (CommSemiring.toSemiring.{u4} B _inst_4) (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) _inst_6} {g : AlgHom.{u1, max u2 u3, u4} R (MvPolynomial.{u2, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) (CommSemiring.toSemiring.{u4} B _inst_4) (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) _inst_6}, (Eq.{max (succ u3) (succ u4)} (AlgHom.{u1, u3, u4} R A B _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) (CommSemiring.toSemiring.{u4} B _inst_4) _inst_5 _inst_6) (AlgHom.comp.{u1, u3, max u2 u3, u4} R A (MvPolynomial.{u2, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) (CommSemiring.toSemiring.{u4} B _inst_4) _inst_5 (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) _inst_6 f (IsScalarTower.toAlgHom.{u1, u3, max u2 u3} R A (MvPolynomial.{u2, u3} σ A _inst_3) _inst_1 _inst_3 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) _inst_5 (MvPolynomial.algebra.{u3, u3, u2} A A σ _inst_3 _inst_3 (Algebra.id.{u3} A _inst_3)) (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) (MvPolynomial.isScalarTower.{u1, u3, u3, u2} R A A σ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u3} A (Semiring.toMonoidWithZero.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))) _inst_3 (SMulZeroClass.toHasSmul.{u1, u3} R A (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))))))) (SMulWithZero.toSmulZeroClass.{u1, u3} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))))))) (MulActionWithZero.toSMulWithZero.{u1, u3} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))))))) (Module.toMulActionWithZero.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3)))) (Algebra.toModule.{u1, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5))))) (Module.toDistribMulAction.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3)))) (Algebra.toModule.{u1, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5)) (Module.toDistribMulAction.{u3, u3} A A (CommSemiring.toSemiring.{u3} A _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3)))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))) (IsScalarTower.right.{u1, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5)))) (AlgHom.comp.{u1, u3, max u2 u3, u4} R A (MvPolynomial.{u2, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) (CommSemiring.toSemiring.{u4} B _inst_4) _inst_5 (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) _inst_6 g (IsScalarTower.toAlgHom.{u1, u3, max u2 u3} R A (MvPolynomial.{u2, u3} σ A _inst_3) _inst_1 _inst_3 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) _inst_5 (MvPolynomial.algebra.{u3, u3, u2} A A σ _inst_3 _inst_3 (Algebra.id.{u3} A _inst_3)) (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) (MvPolynomial.isScalarTower.{u1, u3, u3, u2} R A A σ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u3} A (Semiring.toMonoidWithZero.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))) _inst_3 (SMulZeroClass.toHasSmul.{u1, u3} R A (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))))))) (SMulWithZero.toSmulZeroClass.{u1, u3} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))))))) (MulActionWithZero.toSMulWithZero.{u1, u3} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u3} A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))))))) (Module.toMulActionWithZero.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3)))) (Algebra.toModule.{u1, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5))))) (Module.toDistribMulAction.{u1, u3} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3)))) (Algebra.toModule.{u1, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5)) (Module.toDistribMulAction.{u3, u3} A A (CommSemiring.toSemiring.{u3} A _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3)))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))) (IsScalarTower.right.{u1, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5))))) -> (forall (i : σ), Eq.{succ u4} B (coeFn.{max (succ (max u2 u3)) (succ u4), max (succ (max u2 u3)) (succ u4)} (AlgHom.{u1, max u2 u3, u4} R (MvPolynomial.{u2, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) (CommSemiring.toSemiring.{u4} B _inst_4) (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) _inst_6) (fun (_x : AlgHom.{u1, max u2 u3, u4} R (MvPolynomial.{u2, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) (CommSemiring.toSemiring.{u4} B _inst_4) (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) _inst_6) => (MvPolynomial.{u2, u3} σ A _inst_3) -> B) ([anonymous].{u1, max u2 u3, u4} R (MvPolynomial.{u2, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) (CommSemiring.toSemiring.{u4} B _inst_4) (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) _inst_6) f (MvPolynomial.X.{u3, u2} A σ _inst_3 i)) (coeFn.{max (succ (max u2 u3)) (succ u4), max (succ (max u2 u3)) (succ u4)} (AlgHom.{u1, max u2 u3, u4} R (MvPolynomial.{u2, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) (CommSemiring.toSemiring.{u4} B _inst_4) (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) _inst_6) (fun (_x : AlgHom.{u1, max u2 u3, u4} R (MvPolynomial.{u2, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) (CommSemiring.toSemiring.{u4} B _inst_4) (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) _inst_6) => (MvPolynomial.{u2, u3} σ A _inst_3) -> B) ([anonymous].{u1, max u2 u3, u4} R (MvPolynomial.{u2, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) (CommSemiring.toSemiring.{u4} B _inst_4) (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) _inst_6) g (MvPolynomial.X.{u3, u2} A σ _inst_3 i))) -> (Eq.{max (succ (max u2 u3)) (succ u4)} (AlgHom.{u1, max u2 u3, u4} R (MvPolynomial.{u2, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u2} A σ _inst_3)) (CommSemiring.toSemiring.{u4} B _inst_4) (MvPolynomial.algebra.{u1, u3, u2} R A σ _inst_1 _inst_3 _inst_5) _inst_6) f g)
+but is expected to have type
+ forall {R : Type.{u4}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u4} R] {A : Type.{u3}} {B : Type.{u2}} [_inst_3 : CommSemiring.{u3} A] [_inst_4 : CommSemiring.{u2} B] [_inst_5 : Algebra.{u4, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3)] [_inst_6 : Algebra.{u4, u2} R B _inst_1 (CommSemiring.toSemiring.{u2} B _inst_4)] {f : AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6} {g : AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6}, (Eq.{max (succ u3) (succ u2)} (AlgHom.{u4, u3, u2} R A B _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) (CommSemiring.toSemiring.{u2} B _inst_4) _inst_5 _inst_6) (AlgHom.comp.{u4, u3, max u1 u3, u2} R A (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) _inst_5 (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6 f (IsScalarTower.toAlgHom.{u4, u3, max u3 u1} R A (MvPolynomial.{u1, u3} σ A _inst_3) _inst_1 _inst_3 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) _inst_5 (MvPolynomial.algebra.{u3, u3, u1} A A σ _inst_3 _inst_3 (Algebra.id.{u3} A _inst_3)) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) (MvPolynomial.isScalarTower.{u4, u3, u3, u1} R A A σ (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (MonoidWithZero.toMonoid.{u3} A (Semiring.toMonoidWithZero.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))) _inst_3 (Algebra.toSMul.{u4, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5) (Module.toDistribMulAction.{u4, u3} R A (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3)))) (Algebra.toModule.{u4, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5)) (Module.toDistribMulAction.{u3, u3} A A (CommSemiring.toSemiring.{u3} A _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3)))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))) (IsScalarTower.right.{u4, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5)))) (AlgHom.comp.{u4, u3, max u1 u3, u2} R A (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) _inst_5 (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6 g (IsScalarTower.toAlgHom.{u4, u3, max u3 u1} R A (MvPolynomial.{u1, u3} σ A _inst_3) _inst_1 _inst_3 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) _inst_5 (MvPolynomial.algebra.{u3, u3, u1} A A σ _inst_3 _inst_3 (Algebra.id.{u3} A _inst_3)) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) (MvPolynomial.isScalarTower.{u4, u3, u3, u1} R A A σ (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (MonoidWithZero.toMonoid.{u3} A (Semiring.toMonoidWithZero.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))) _inst_3 (Algebra.toSMul.{u4, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5) (Module.toDistribMulAction.{u4, u3} R A (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3)))) (Algebra.toModule.{u4, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5)) (Module.toDistribMulAction.{u3, u3} A A (CommSemiring.toSemiring.{u3} A _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3)))) (Semiring.toModule.{u3} A (CommSemiring.toSemiring.{u3} A _inst_3))) (IsScalarTower.right.{u4, u3} R A _inst_1 (CommSemiring.toSemiring.{u3} A _inst_3) _inst_5))))) -> (forall (i : σ), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u3} σ A _inst_3) => B) (MvPolynomial.X.{u3, u1} A σ _inst_3 i)) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), max (succ u1) (succ u3), succ u2} (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) (MvPolynomial.{u1, u3} σ A _inst_3) (fun (_x : MvPolynomial.{u1, u3} σ A _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u3} σ A _inst_3) => B) _x) (SMulHomClass.toFunLike.{max (max u1 u3) u2, u4, max u1 u3, u2} (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) R (MvPolynomial.{u1, u3} σ A _inst_3) B (SMulZeroClass.toSMul.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (AddMonoid.toZero.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3))))))) (DistribSMul.toSMulZeroClass.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (AddMonoid.toAddZeroClass.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3))))))) (DistribMulAction.toDistribSMul.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)))))) (Module.toDistribMulAction.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3))))) (Algebra.toModule.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5)))))) (SMulZeroClass.toSMul.{u4, u2} R B (AddMonoid.toZero.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4)))))) (DistribSMul.toSMulZeroClass.{u4, u2} R B (AddMonoid.toAddZeroClass.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4)))))) (DistribMulAction.toDistribSMul.{u4, u2} R B (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4))))) (Module.toDistribMulAction.{u4, u2} R B (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4)))) (Algebra.toModule.{u4, u2} R B _inst_1 (CommSemiring.toSemiring.{u2} B _inst_4) _inst_6))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u3) u2, u4, max u1 u3, u2} (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) R (MvPolynomial.{u1, u3} σ A _inst_3) B (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)))))) (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4))))) (Module.toDistribMulAction.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3))))) (Algebra.toModule.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5))) (Module.toDistribMulAction.{u4, u2} R B (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4)))) (Algebra.toModule.{u4, u2} R B _inst_1 (CommSemiring.toSemiring.{u2} B _inst_4) _inst_6)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u1 u3) u2, u4, max u1 u3, u2} (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) R (MvPolynomial.{u1, u3} σ A _inst_3) B (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4))) (Module.toDistribMulAction.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3))))) (Algebra.toModule.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5))) (Module.toDistribMulAction.{u4, u2} R B (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4)))) (Algebra.toModule.{u4, u2} R B _inst_1 (CommSemiring.toSemiring.{u2} B _inst_4) _inst_6)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u4, max u1 u3, u2, max (max u1 u3) u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6 (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) (AlgHom.algHomClass.{u4, max u1 u3, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6))))) f (MvPolynomial.X.{u3, u1} A σ _inst_3 i)) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), max (succ u1) (succ u3), succ u2} (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) (MvPolynomial.{u1, u3} σ A _inst_3) (fun (_x : MvPolynomial.{u1, u3} σ A _inst_3) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u3} σ A _inst_3) => B) _x) (SMulHomClass.toFunLike.{max (max u1 u3) u2, u4, max u1 u3, u2} (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) R (MvPolynomial.{u1, u3} σ A _inst_3) B (SMulZeroClass.toSMul.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (AddMonoid.toZero.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3))))))) (DistribSMul.toSMulZeroClass.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (AddMonoid.toAddZeroClass.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3))))))) (DistribMulAction.toDistribSMul.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)))))) (Module.toDistribMulAction.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3))))) (Algebra.toModule.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5)))))) (SMulZeroClass.toSMul.{u4, u2} R B (AddMonoid.toZero.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4)))))) (DistribSMul.toSMulZeroClass.{u4, u2} R B (AddMonoid.toAddZeroClass.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4)))))) (DistribMulAction.toDistribSMul.{u4, u2} R B (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4))))) (Module.toDistribMulAction.{u4, u2} R B (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4)))) (Algebra.toModule.{u4, u2} R B _inst_1 (CommSemiring.toSemiring.{u2} B _inst_4) _inst_6))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u3) u2, u4, max u1 u3, u2} (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) R (MvPolynomial.{u1, u3} σ A _inst_3) B (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)))))) (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4))))) (Module.toDistribMulAction.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3))))) (Algebra.toModule.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5))) (Module.toDistribMulAction.{u4, u2} R B (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4)))) (Algebra.toModule.{u4, u2} R B _inst_1 (CommSemiring.toSemiring.{u2} B _inst_4) _inst_6)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u1 u3) u2, u4, max u1 u3, u2} (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) R (MvPolynomial.{u1, u3} σ A _inst_3) B (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4))) (Module.toDistribMulAction.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3))))) (Algebra.toModule.{u4, max u1 u3} R (MvPolynomial.{u1, u3} σ A _inst_3) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5))) (Module.toDistribMulAction.{u4, u2} R B (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_4)))) (Algebra.toModule.{u4, u2} R B _inst_1 (CommSemiring.toSemiring.{u2} B _inst_4) _inst_6)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u4, max u1 u3, u2, max (max u1 u3) u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6 (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) (AlgHom.algHomClass.{u4, max u1 u3, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6))))) g (MvPolynomial.X.{u3, u1} A σ _inst_3 i))) -> (Eq.{max (max (succ u1) (succ u3)) (succ u2)} (AlgHom.{u4, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ A _inst_3) B _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ A _inst_3) (MvPolynomial.commSemiring.{u3, u1} A σ _inst_3)) (CommSemiring.toSemiring.{u2} B _inst_4) (MvPolynomial.algebra.{u4, u3, u1} R A σ _inst_1 _inst_3 _inst_5) _inst_6) f g)
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.alg_hom_ext' MvPolynomial.algHom_ext'ₓ'. -/
@[ext]
theorem algHom_ext' {A B : Type _} [CommSemiring A] [CommSemiring B] [Algebra R A] [Algebra R B]
{f g : MvPolynomial σ A →ₐ[R] B}
(h₁ :
f.comp (IsScalarTower.toAlgHom R A (MvPolynomial σ A)) =
g.comp (IsScalarTower.toAlgHom R A (MvPolynomial σ A)))
- (h₂ : ∀ i, f (x i) = g (x i)) : f = g :=
+ (h₂ : ∀ i, f (X i) = g (X i)) : f = g :=
AlgHom.coe_ringHom_injective (MvPolynomial.ringHom_ext' (congr_arg AlgHom.toRingHom h₁) h₂)
#align mv_polynomial.alg_hom_ext' MvPolynomial.algHom_ext'
+/- warning: mv_polynomial.alg_hom_ext -> MvPolynomial.algHom_ext is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {A : Type.{u3}} [_inst_3 : Semiring.{u3} A] [_inst_4 : Algebra.{u1, u3} R A _inst_1 _inst_3] {f : AlgHom.{u1, max u2 u1, u3} R (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_4} {g : AlgHom.{u1, max u2 u1, u3} R (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_4}, (forall (i : σ), Eq.{succ u3} A (coeFn.{max (succ (max u2 u1)) (succ u3), max (succ (max u2 u1)) (succ u3)} (AlgHom.{u1, max u2 u1, u3} R (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_4) (fun (_x : AlgHom.{u1, max u2 u1, u3} R (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_4) => (MvPolynomial.{u2, u1} σ R _inst_1) -> A) ([anonymous].{u1, max u2 u1, u3} R (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_4) f (MvPolynomial.X.{u1, u2} R σ _inst_1 i)) (coeFn.{max (succ (max u2 u1)) (succ u3), max (succ (max u2 u1)) (succ u3)} (AlgHom.{u1, max u2 u1, u3} R (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_4) (fun (_x : AlgHom.{u1, max u2 u1, u3} R (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_4) => (MvPolynomial.{u2, u1} σ R _inst_1) -> A) ([anonymous].{u1, max u2 u1, u3} R (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_4) g (MvPolynomial.X.{u1, u2} R σ _inst_1 i))) -> (Eq.{max (succ (max u2 u1)) (succ u3)} (AlgHom.{u1, max u2 u1, u3} R (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_4) f g)
+but is expected to have type
+ forall {R : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] {A : Type.{u2}} [_inst_3 : Semiring.{u2} A] [_inst_4 : Algebra.{u3, u2} R A _inst_1 _inst_3] {f : AlgHom.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4} {g : AlgHom.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4}, (forall (i : σ), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u3} σ R _inst_1) => A) (MvPolynomial.X.{u3, u1} R σ _inst_1 i)) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u1), succ u2} (AlgHom.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4) (MvPolynomial.{u1, u3} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u3} σ R _inst_1) => A) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u3, max u3 u1, u2} (AlgHom.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4) R (MvPolynomial.{u1, u3} σ R _inst_1) A (SMulZeroClass.toSMul.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toZero.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (Module.toDistribMulAction.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))))))) (SMulZeroClass.toSMul.{u3, u2} R A (AddMonoid.toZero.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3))))) (DistribSMul.toSMulZeroClass.{u3, u2} R A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3))))) (DistribMulAction.toDistribSMul.{u3, u2} R A (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3)))) (Module.toDistribMulAction.{u3, u2} R A (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3))) (Algebra.toModule.{u3, u2} R A _inst_1 _inst_3 _inst_4))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u3, max u3 u1, u2} (AlgHom.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4) R (MvPolynomial.{u1, u3} σ R _inst_1) A (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3)))) (Module.toDistribMulAction.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u2} R A (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3))) (Algebra.toModule.{u3, u2} R A _inst_1 _inst_3 _inst_4)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u3, max u3 u1, u2} (AlgHom.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4) R (MvPolynomial.{u1, u3} σ R _inst_1) A (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (Module.toDistribMulAction.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u2} R A (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3))) (Algebra.toModule.{u3, u2} R A _inst_1 _inst_3 _inst_4)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u3, max u3 u1, u2, max (max u3 u1) u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4 (AlgHom.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4) (AlgHom.algHomClass.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4))))) f (MvPolynomial.X.{u3, u1} R σ _inst_1 i)) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u1), succ u2} (AlgHom.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4) (MvPolynomial.{u1, u3} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u3} σ R _inst_1) => A) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u3, max u3 u1, u2} (AlgHom.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4) R (MvPolynomial.{u1, u3} σ R _inst_1) A (SMulZeroClass.toSMul.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toZero.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (Module.toDistribMulAction.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))))))) (SMulZeroClass.toSMul.{u3, u2} R A (AddMonoid.toZero.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3))))) (DistribSMul.toSMulZeroClass.{u3, u2} R A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3))))) (DistribMulAction.toDistribSMul.{u3, u2} R A (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3)))) (Module.toDistribMulAction.{u3, u2} R A (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3))) (Algebra.toModule.{u3, u2} R A _inst_1 _inst_3 _inst_4))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u3, max u3 u1, u2} (AlgHom.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4) R (MvPolynomial.{u1, u3} σ R _inst_1) A (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3)))) (Module.toDistribMulAction.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u2} R A (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3))) (Algebra.toModule.{u3, u2} R A _inst_1 _inst_3 _inst_4)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u3, max u3 u1, u2} (AlgHom.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4) R (MvPolynomial.{u1, u3} σ R _inst_1) A (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3)) (Module.toDistribMulAction.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u3 u1} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u2} R A (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_3))) (Algebra.toModule.{u3, u2} R A _inst_1 _inst_3 _inst_4)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u3, max u3 u1, u2, max (max u3 u1) u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4 (AlgHom.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4) (AlgHom.algHomClass.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4))))) g (MvPolynomial.X.{u3, u1} R σ _inst_1 i))) -> (Eq.{max (max (succ u3) (succ u1)) (succ u2)} (AlgHom.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) _inst_3 (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4) f g)
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.alg_hom_ext MvPolynomial.algHom_extₓ'. -/
@[ext]
theorem algHom_ext {A : Type _} [Semiring A] [Algebra R A] {f g : MvPolynomial σ R →ₐ[R] A}
- (hf : ∀ i : σ, f (x i) = g (x i)) : f = g :=
+ (hf : ∀ i : σ, f (X i) = g (X i)) : f = g :=
AddMonoidAlgebra.algHom_ext' (mulHom_ext' fun x : σ => MonoidHom.ext_mnat (hf x))
#align mv_polynomial.alg_hom_ext MvPolynomial.algHom_ext
+/- warning: mv_polynomial.alg_hom_C -> MvPolynomial.algHom_C is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (f : AlgHom.{u1, max u2 u1, max u2 u1} 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 : R), Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{succ (max u2 u1), succ (max u2 u1)} (AlgHom.{u1, max u2 u1, max u2 u1} 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))) (fun (_x : AlgHom.{u1, max u2 u1, max u2 u1} 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) -> (MvPolynomial.{u2, u1} σ R _inst_1)) ([anonymous].{u1, max u2 u1, max u2 u1} 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))) f (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) r)) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) r)
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (f : AlgHom.{u2, max u2 u1, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (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))) (r : R), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, 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 (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (AlgHom.{u2, max u2 u1, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (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) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (SMulHomClass.toFunLike.{max u2 u1, u2, max u2 u1, max u2 u1} (AlgHom.{u2, max u2 u1, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (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))) R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (SMulZeroClass.toSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (AddMonoid.toZero.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) (Module.toDistribMulAction.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Algebra.toModule.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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 u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (AddMonoid.toZero.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) (Module.toDistribMulAction.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Algebra.toModule.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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 u2 u1, u2, max u2 u1, max u2 u1} (AlgHom.{u2, max u2 u1, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (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))) R (MvPolynomial.{u1, 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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) (Module.toDistribMulAction.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Algebra.toModule.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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 u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Algebra.toModule.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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 u2 u1, u2, max u2 u1, max u2 u1} (AlgHom.{u2, max u2 u1, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (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))) R (MvPolynomial.{u1, 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 u2 u1} (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.{max u2 u1} (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)))) (Module.toDistribMulAction.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Algebra.toModule.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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 u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Algebra.toModule.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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 u2 u1, max u2 u1, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (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)) (AlgHom.{u2, max u2 u1, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (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))) (AlgHom.algHomClass.{u2, max u2 u1, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (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))))))) 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 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)
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.alg_hom_C MvPolynomial.algHom_Cₓ'. -/
@[simp]
-theorem algHom_c (f : MvPolynomial σ R →ₐ[R] MvPolynomial σ R) (r : R) : f (c r) = c r :=
+theorem algHom_C (f : MvPolynomial σ R →ₐ[R] MvPolynomial σ R) (r : R) : f (C r) = C r :=
f.commutes r
-#align mv_polynomial.alg_hom_C MvPolynomial.algHom_c
+#align mv_polynomial.alg_hom_C MvPolynomial.algHom_C
+/- warning: mv_polynomial.adjoin_range_X -> MvPolynomial.adjoin_range_X is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R], Eq.{succ (max u2 u1)} (Subalgebra.{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))) (Algebra.adjoin.{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)) (Set.range.{max u2 u1, succ u2} (MvPolynomial.{u2, u1} σ R _inst_1) σ (MvPolynomial.X.{u1, u2} R σ _inst_1))) (Top.top.{max u2 u1} (Subalgebra.{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))) (CompleteLattice.toHasTop.{max u2 u1} (Subalgebra.{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))) (Algebra.Subalgebra.completeLattice.{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)))))
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} (Subalgebra.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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))) (Algebra.adjoin.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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)) (Set.range.{max u2 u1, succ u1} (MvPolynomial.{u1, u2} σ R _inst_1) σ (MvPolynomial.X.{u2, u1} R σ _inst_1))) (Top.top.{max u2 u1} (Subalgebra.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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))) (CompleteLattice.toTop.{max u2 u1} (Subalgebra.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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))) (Algebra.instCompleteLatticeSubalgebra.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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)))))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.adjoin_range_X MvPolynomial.adjoin_range_Xₓ'. -/
@[simp]
-theorem adjoin_range_x : Algebra.adjoin R (range (x : σ → MvPolynomial σ R)) = ⊤ :=
+theorem adjoin_range_X : Algebra.adjoin R (range (X : σ → MvPolynomial σ R)) = ⊤ :=
by
set S := Algebra.adjoin R (range (X : σ → MvPolynomial σ R))
refine' top_unique fun p hp => _; clear hp
@@ -482,8 +818,14 @@ theorem adjoin_range_x : Algebra.adjoin R (range (x : σ → MvPolynomial σ R))
case h_C => exact S.algebra_map_mem _
case h_add p q hp hq => exact S.add_mem hp hq
case h_X p i hp => exact S.mul_mem hp (Algebra.subset_adjoin <| mem_range_self _)
-#align mv_polynomial.adjoin_range_X MvPolynomial.adjoin_range_x
-
+#align mv_polynomial.adjoin_range_X MvPolynomial.adjoin_range_X
+
+/- warning: mv_polynomial.linear_map_ext -> MvPolynomial.linearMap_ext is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {M : Type.{u3}} [_inst_3 : AddCommMonoid.{u3} M] [_inst_4 : Module.{u1, u3} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3] {f : LinearMap.{u1, u1, max u2 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))) (MvPolynomial.{u2, u1} σ R _inst_1) M (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))))) _inst_3 (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))) _inst_4} {g : LinearMap.{u1, u1, max u2 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))) (MvPolynomial.{u2, u1} σ R _inst_1) M (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))))) _inst_3 (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))) _inst_4}, (forall (s : Finsupp.{u2, 0} σ Nat Nat.hasZero), Eq.{max (succ u1) (succ u3)} (LinearMap.{u1, u1, 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 M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) _inst_4) (LinearMap.comp.{u1, u1, u1, u1, max u2 u1, u3} R R R R (MvPolynomial.{u2, u1} σ R _inst_1) M (CommSemiring.toSemiring.{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 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))))) _inst_3 (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))) _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomCompTriple.ids.{u1, u1} 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)))) f (MvPolynomial.monomial.{u1, u2} R σ _inst_1 s)) (LinearMap.comp.{u1, u1, u1, u1, max u2 u1, u3} R R R R (MvPolynomial.{u2, u1} σ R _inst_1) M (CommSemiring.toSemiring.{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 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))))) _inst_3 (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))) _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomCompTriple.ids.{u1, u1} 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)))) g (MvPolynomial.monomial.{u1, u2} R σ _inst_1 s))) -> (Eq.{max (succ (max u2 u1)) (succ u3)} (LinearMap.{u1, u1, max u2 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))) (MvPolynomial.{u2, u1} σ R _inst_1) M (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))))) _inst_3 (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))) _inst_4) f g)
+but is expected to have type
+ forall {R : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] {M : Type.{u2}} [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u3, u2} R M (CommSemiring.toSemiring.{u3} R _inst_1) _inst_3] {f : LinearMap.{u3, u3, max u3 u1, u2} 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))) (MvPolynomial.{u1, u3} σ R _inst_1) M (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) _inst_3 (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))) _inst_4} {g : LinearMap.{u3, u3, max u3 u1, u2} 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))) (MvPolynomial.{u1, u3} σ R _inst_1) M (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) _inst_3 (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))) _inst_4}, (forall (s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)), Eq.{max (succ u3) (succ u2)} (LinearMap.{u3, u3, u3, u2} 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 M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) _inst_3 (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) _inst_4) (LinearMap.comp.{u3, u3, u3, u3, max u3 u1, u2} R R R R (MvPolynomial.{u1, u3} σ R _inst_1) M (CommSemiring.toSemiring.{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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) _inst_3 (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))) _inst_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomCompTriple.ids.{u3, 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)))) f (MvPolynomial.monomial.{u3, u1} R σ _inst_1 s)) (LinearMap.comp.{u3, u3, u3, u3, max u3 u1, u2} R R R R (MvPolynomial.{u1, u3} σ R _inst_1) M (CommSemiring.toSemiring.{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 u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) _inst_3 (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))) _inst_4 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomCompTriple.ids.{u3, 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)))) g (MvPolynomial.monomial.{u3, u1} R σ _inst_1 s))) -> (Eq.{max (max (succ u3) (succ u1)) (succ u2)} (LinearMap.{u3, u3, max u3 u1, u2} 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))) (MvPolynomial.{u1, u3} σ R _inst_1) M (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) _inst_3 (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))) _inst_4) f g)
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.linear_map_ext MvPolynomial.linearMap_extₓ'. -/
@[ext]
theorem linearMap_ext {M : Type _} [AddCommMonoid M] [Module R M] {f g : MvPolynomial σ R →ₗ[R] M}
(h : ∀ s, f ∘ₗ monomial s = g ∘ₗ monomial s) : f = g :=
@@ -492,47 +834,103 @@ theorem linearMap_ext {M : Type _} [AddCommMonoid M] [Module R M] {f g : MvPolyn
section Support
+#print MvPolynomial.support /-
/-- The finite set of all `m : σ →₀ ℕ` such that `X^m` has a non-zero coefficient.
-/
def support (p : MvPolynomial σ R) : Finset (σ →₀ ℕ) :=
p.support
#align mv_polynomial.support MvPolynomial.support
+-/
+/- warning: mv_polynomial.finsupp_support_eq_support -> MvPolynomial.finsupp_support_eq_support is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (p : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{succ u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finsupp.support.{u2, u1} (Finsupp.{u2, 0} σ Nat Nat.hasZero) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) p) (MvPolynomial.support.{u1, u2} R σ _inst_1 p)
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finsupp.support.{u1, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) p) (MvPolynomial.support.{u2, u1} R σ _inst_1 p)
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.finsupp_support_eq_support MvPolynomial.finsupp_support_eq_supportₓ'. -/
theorem finsupp_support_eq_support (p : MvPolynomial σ R) : Finsupp.support p = p.support :=
rfl
#align mv_polynomial.finsupp_support_eq_support MvPolynomial.finsupp_support_eq_support
+/- warning: mv_polynomial.support_monomial -> MvPolynomial.support_monomial is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} {a : R} {s : Finsupp.{u2, 0} σ Nat Nat.hasZero} [_inst_1 : CommSemiring.{u1} R] [_inst_3 : Decidable (Eq.{succ u1} R a (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))], Eq.{succ u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (MvPolynomial.support.{u1, u2} R σ _inst_1 (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) a)) (ite.{succ u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Eq.{succ u1} R a (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) _inst_3 (EmptyCollection.emptyCollection.{u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasEmptyc.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero))) (Singleton.singleton.{u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasSingleton.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) s))
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u2} R] [_inst_3 : Decidable (Eq.{succ u2} R a (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)))))], 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 (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a)) (ite.{succ u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Eq.{succ u2} R a (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) _inst_3 (EmptyCollection.emptyCollection.{u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instEmptyCollectionFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)))) (Singleton.singleton.{u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instSingletonFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) s))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.support_monomial MvPolynomial.support_monomialₓ'. -/
theorem support_monomial [Decidable (a = 0)] : (monomial s a).support = if a = 0 then ∅ else {s} :=
by convert rfl
#align mv_polynomial.support_monomial MvPolynomial.support_monomial
+/- warning: mv_polynomial.support_monomial_subset -> MvPolynomial.support_monomial_subset is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} {a : R} {s : Finsupp.{u2, 0} σ Nat Nat.hasZero} [_inst_1 : CommSemiring.{u1} R], HasSubset.Subset.{u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasSubset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (MvPolynomial.support.{u1, u2} R σ _inst_1 (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) a)) (Singleton.singleton.{u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasSingleton.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) s)
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u2} R], HasSubset.Subset.{u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instHasSubsetFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.support.{u2, u1} R σ _inst_1 (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a)) (Singleton.singleton.{u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instSingletonFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) s)
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.support_monomial_subset MvPolynomial.support_monomial_subsetₓ'. -/
theorem support_monomial_subset : (monomial s a).support ⊆ {s} :=
support_single_subset
#align mv_polynomial.support_monomial_subset MvPolynomial.support_monomial_subset
+/- warning: mv_polynomial.support_add -> MvPolynomial.support_add is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {p : MvPolynomial.{u2, u1} σ R _inst_1} {q : MvPolynomial.{u2, u1} σ R _inst_1}, HasSubset.Subset.{u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasSubset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (MvPolynomial.support.{u1, u2} R σ _inst_1 (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHAdd.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasAdd.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) p q)) (Union.union.{u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasUnion.{u2} (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)) (MvPolynomial.support.{u1, u2} R σ _inst_1 p) (MvPolynomial.support.{u1, u2} R σ _inst_1 q))
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {p : MvPolynomial.{u1, u2} σ R _inst_1} {q : MvPolynomial.{u1, u2} σ R _inst_1}, HasSubset.Subset.{u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instHasSubsetFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.support.{u2, u1} R σ _inst_1 (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHAdd.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (Distrib.toAdd.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))))) p q)) (Union.union.{u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instUnionFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (fun (a : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (b : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => 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)) (MvPolynomial.support.{u2, u1} R σ _inst_1 p) (MvPolynomial.support.{u2, u1} R σ _inst_1 q))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.support_add MvPolynomial.support_addₓ'. -/
theorem support_add : (p + q).support ⊆ p.support ∪ q.support :=
Finsupp.support_add
#align mv_polynomial.support_add MvPolynomial.support_add
-theorem support_x [Nontrivial R] : (x n : MvPolynomial σ R).support = {single n 1} := by
+/- warning: mv_polynomial.support_X -> MvPolynomial.support_X is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} {n : σ} [_inst_1 : CommSemiring.{u1} R] [_inst_3 : Nontrivial.{u1} R], Eq.{succ u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (MvPolynomial.support.{u1, u2} R σ _inst_1 (MvPolynomial.X.{u1, u2} R σ _inst_1 n)) (Singleton.singleton.{u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasSingleton.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finsupp.single.{u2, 0} σ Nat Nat.hasZero n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} {n : σ} [_inst_1 : CommSemiring.{u2} R] [_inst_3 : Nontrivial.{u2} R], Eq.{succ u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.support.{u2, u1} R σ _inst_1 (MvPolynomial.X.{u2, u1} R σ _inst_1 n)) (Singleton.singleton.{u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instSingletonFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finsupp.single.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.support_X MvPolynomial.support_Xₓ'. -/
+theorem support_X [Nontrivial R] : (X n : MvPolynomial σ R).support = {single n 1} := by
rw [X, support_monomial, if_neg] <;> exact one_ne_zero
-#align mv_polynomial.support_X MvPolynomial.support_x
-
-theorem support_x_pow [Nontrivial R] (s : σ) (n : ℕ) :
- (x s ^ n : MvPolynomial σ R).support = {Finsupp.single s n} := by
+#align mv_polynomial.support_X MvPolynomial.support_X
+
+/- warning: mv_polynomial.support_X_pow -> MvPolynomial.support_X_pow is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_3 : Nontrivial.{u1} R] (s : σ) (n : Nat), Eq.{succ u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (MvPolynomial.support.{u1, u2} R σ _inst_1 (HPow.hPow.{max u2 u1, 0, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) Nat (MvPolynomial.{u2, u1} σ R _inst_1) (instHPow.{max u2 u1, 0} (MvPolynomial.{u2, u1} σ R _inst_1) Nat (Monoid.Pow.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MonoidWithZero.toMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (MvPolynomial.X.{u1, u2} R σ _inst_1 s) n)) (Singleton.singleton.{u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasSingleton.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finsupp.single.{u2, 0} σ Nat Nat.hasZero s n))
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_3 : Nontrivial.{u2} R] (s : σ) (n : Nat), Eq.{succ u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.support.{u2, u1} R σ _inst_1 (HPow.hPow.{max u1 u2, 0, max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (MvPolynomial.{u1, u2} σ R _inst_1) (instHPow.{max u1 u2, 0} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (Monoid.Pow.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (MvPolynomial.X.{u2, u1} R σ _inst_1 s) n)) (Singleton.singleton.{u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instSingletonFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finsupp.single.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) s n))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.support_X_pow MvPolynomial.support_X_powₓ'. -/
+theorem support_X_pow [Nontrivial R] (s : σ) (n : ℕ) :
+ (X s ^ n : MvPolynomial σ R).support = {Finsupp.single s n} := by
rw [X_pow_eq_monomial, support_monomial, if_neg (one_ne_zero' R)]
-#align mv_polynomial.support_X_pow MvPolynomial.support_x_pow
+#align mv_polynomial.support_X_pow MvPolynomial.support_X_pow
+/- warning: mv_polynomial.support_zero -> MvPolynomial.support_zero is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R], Eq.{succ u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (MvPolynomial.support.{u1, u2} R σ _inst_1 (OfNat.ofNat.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) 0 (OfNat.mk.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) 0 (Zero.zero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MulZeroClass.toHasZero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toMulZeroClass.{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)))))))))) (EmptyCollection.emptyCollection.{u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasEmptyc.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)))
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R], Eq.{succ u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.support.{u2, u1} R σ _inst_1 (OfNat.ofNat.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) 0 (Zero.toOfNat0.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (CommMonoidWithZero.toZero.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toCommMonoidWithZero.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))))) (EmptyCollection.emptyCollection.{u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instEmptyCollectionFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.support_zero MvPolynomial.support_zeroₓ'. -/
@[simp]
theorem support_zero : (0 : MvPolynomial σ R).support = ∅ :=
rfl
#align mv_polynomial.support_zero MvPolynomial.support_zero
+/- warning: mv_polynomial.support_smul -> MvPolynomial.support_smul is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : DistribMulAction.{u1, u2} R S₁ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddMonoidWithOne.toAddMonoid.{u2} S₁ (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} S₁ (NonAssocSemiring.toAddCommMonoidWithOne.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))))] {a : R} {f : MvPolynomial.{u3, u2} σ S₁ _inst_2}, HasSubset.Subset.{u3} (Finset.{u3} (Finsupp.{u3, 0} σ Nat Nat.hasZero)) (Finset.hasSubset.{u3} (Finsupp.{u3, 0} σ Nat Nat.hasZero)) (MvPolynomial.support.{u2, u3} S₁ σ _inst_2 (SMul.smul.{u1, max u3 u2} R (MvPolynomial.{u3, u2} σ S₁ _inst_2) (SMulZeroClass.toHasSmul.{u1, max u3 u2} R (MvPolynomial.{u3, u2} σ S₁ _inst_2) (AddZeroClass.toHasZero.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (AddMonoid.toAddZeroClass.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (AddMonoidWithOne.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (AddCommMonoidWithOne.toAddMonoidWithOne.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonAssocSemiring.toAddCommMonoidWithOne.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))))))) (DistribSMul.toSmulZeroClass.{u1, max u3 u2} R (MvPolynomial.{u3, u2} σ S₁ _inst_2) (AddMonoid.toAddZeroClass.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (AddMonoidWithOne.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (AddCommMonoidWithOne.toAddMonoidWithOne.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonAssocSemiring.toAddCommMonoidWithOne.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))))))) (DistribMulAction.toDistribSMul.{u1, max u3 u2} R (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddMonoidWithOne.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (AddCommMonoidWithOne.toAddMonoidWithOne.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonAssocSemiring.toAddCommMonoidWithOne.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))))) (MvPolynomial.distribMulAction.{u1, u2, u3} R S₁ σ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) _inst_2 _inst_3)))) a f)) (MvPolynomial.support.{u2, u3} S₁ σ _inst_2 f)
+but is expected to have type
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : DistribMulAction.{u2, u3} R S₁ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddMonoidWithOne.toAddMonoid.{u3} S₁ (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} S₁ (NonAssocSemiring.toAddCommMonoidWithOne.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))] {a : R} {f : MvPolynomial.{u1, u3} σ S₁ _inst_2}, HasSubset.Subset.{u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instHasSubsetFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.support.{u3, u1} S₁ σ _inst_2 (HSMul.hSMul.{u2, max u3 u1, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (instHSMul.{u2, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (SMulZeroClass.toSMul.{u2, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (CommMonoidWithZero.toZero.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (CommSemiring.toCommMonoidWithZero.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u3, u1} S₁ σ _inst_2))) (DistribSMul.toSMulZeroClass.{u2, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (AddMonoid.toAddZeroClass.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (AddMonoidWithOne.toAddMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (AddCommMonoidWithOne.toAddMonoidWithOne.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toAddCommMonoidWithOne.{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))))))) (DistribMulAction.toDistribSMul.{u2, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddMonoidWithOne.toAddMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (AddCommMonoidWithOne.toAddMonoidWithOne.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toAddCommMonoidWithOne.{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)))))) (MvPolynomial.distribuMulAction.{u2, u3, u1} R S₁ σ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) _inst_2 _inst_3))))) a f)) (MvPolynomial.support.{u3, u1} S₁ σ _inst_2 f)
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.support_smul MvPolynomial.support_smulₓ'. -/
theorem support_smul [DistribMulAction R S₁] {a : R} {f : MvPolynomial σ S₁} :
(a • f).support ⊆ f.support :=
Finsupp.support_smul
#align mv_polynomial.support_smul MvPolynomial.support_smul
+/- warning: mv_polynomial.support_sum -> MvPolynomial.support_sum is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {α : Type.{u3}} {s : Finset.{u3} α} {f : α -> (MvPolynomial.{u2, u1} σ R _inst_1)}, HasSubset.Subset.{u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasSubset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (MvPolynomial.support.{u1, u2} R σ _inst_1 (Finset.sum.{max u2 u1, u3} (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))))) s (fun (x : α) => f x))) (Finset.bunionᵢ.{u3, u2} α (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) s (fun (x : α) => MvPolynomial.support.{u1, u2} R σ _inst_1 (f x)))
+but is expected to have type
+ forall {R : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] {α : Type.{u2}} {s : Finset.{u2} α} {f : α -> (MvPolynomial.{u1, u3} σ R _inst_1)}, HasSubset.Subset.{u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instHasSubsetFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.support.{u3, u1} R σ _inst_1 (Finset.sum.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) α (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) s (fun (x : α) => f x))) (Finset.bunionᵢ.{u2, u1} α (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (fun (a : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (b : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => 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) s (fun (x : α) => MvPolynomial.support.{u3, u1} R σ _inst_1 (f x)))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.support_sum MvPolynomial.support_sumₓ'. -/
theorem support_sum {α : Type _} {s : Finset α} {f : α → MvPolynomial σ R} :
(∑ x in s, f x).support ⊆ s.bunionᵢ fun x => (f x).support :=
Finsupp.support_finset_sum
@@ -542,59 +940,122 @@ end Support
section Coeff
+#print MvPolynomial.coeff /-
/-- The coefficient of the monomial `m` in the multi-variable polynomial `p`. -/
def coeff (m : σ →₀ ℕ) (p : MvPolynomial σ R) : R :=
@coeFn _ _ (MonoidAlgebra.coeFun _ _) p m
#align mv_polynomial.coeff MvPolynomial.coeff
+-/
+/- warning: mv_polynomial.mem_support_iff -> MvPolynomial.mem_support_iff is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {p : MvPolynomial.{u2, u1} σ R _inst_1} {m : Finsupp.{u2, 0} σ Nat Nat.hasZero}, Iff (Membership.Mem.{u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasMem.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) m (MvPolynomial.support.{u1, u2} R σ _inst_1 p)) (Ne.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m p) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {p : MvPolynomial.{u1, u2} σ R _inst_1} {m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)}, Iff (Membership.mem.{u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instMembershipFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) m (MvPolynomial.support.{u2, u1} R σ _inst_1 p)) (Ne.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m p) (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.mem_support_iff MvPolynomial.mem_support_iffₓ'. -/
@[simp]
theorem mem_support_iff {p : MvPolynomial σ R} {m : σ →₀ ℕ} : m ∈ p.support ↔ p.coeff m ≠ 0 := by
simp [support, coeff]
#align mv_polynomial.mem_support_iff MvPolynomial.mem_support_iff
+/- warning: mv_polynomial.not_mem_support_iff -> MvPolynomial.not_mem_support_iff is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {p : MvPolynomial.{u2, u1} σ R _inst_1} {m : Finsupp.{u2, 0} σ Nat Nat.hasZero}, Iff (Not (Membership.Mem.{u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasMem.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) m (MvPolynomial.support.{u1, u2} R σ _inst_1 p))) (Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m p) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {p : MvPolynomial.{u1, u2} σ R _inst_1} {m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)}, Iff (Not (Membership.mem.{u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instMembershipFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) m (MvPolynomial.support.{u2, u1} R σ _inst_1 p))) (Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m p) (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.not_mem_support_iff MvPolynomial.not_mem_support_iffₓ'. -/
theorem not_mem_support_iff {p : MvPolynomial σ R} {m : σ →₀ ℕ} : m ∉ p.support ↔ p.coeff m = 0 :=
by simp
#align mv_polynomial.not_mem_support_iff MvPolynomial.not_mem_support_iff
+/- warning: mv_polynomial.sum_def -> MvPolynomial.sum_def is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {A : Type.{u3}} [_inst_3 : AddCommMonoid.{u3} A] {p : MvPolynomial.{u2, u1} σ R _inst_1} {b : (Finsupp.{u2, 0} σ Nat Nat.hasZero) -> R -> A}, Eq.{succ u3} A (Finsupp.sum.{u2, u1, u3} (Finsupp.{u2, 0} σ Nat Nat.hasZero) R A (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) _inst_3 p b) (Finset.sum.{u3, u2} A (Finsupp.{u2, 0} σ Nat Nat.hasZero) _inst_3 (MvPolynomial.support.{u1, u2} R σ _inst_1 p) (fun (m : Finsupp.{u2, 0} σ Nat Nat.hasZero) => b m (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m p)))
+but is expected to have type
+ forall {R : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] {A : Type.{u2}} [_inst_3 : AddCommMonoid.{u2} A] {p : MvPolynomial.{u1, u3} σ R _inst_1} {b : (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) -> R -> A}, Eq.{succ u2} A (Finsupp.sum.{u1, u3, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) R A (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) _inst_3 p b) (Finset.sum.{u2, u1} A (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) _inst_3 (MvPolynomial.support.{u3, u1} R σ _inst_1 p) (fun (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => b m (MvPolynomial.coeff.{u3, u1} R σ _inst_1 m p)))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.sum_def MvPolynomial.sum_defₓ'. -/
theorem sum_def {A} [AddCommMonoid A] {p : MvPolynomial σ R} {b : (σ →₀ ℕ) → R → A} :
p.Sum b = ∑ m in p.support, b m (p.coeff m) := by simp [support, Finsupp.sum, coeff]
#align mv_polynomial.sum_def MvPolynomial.sum_def
+/- warning: mv_polynomial.support_mul -> MvPolynomial.support_mul is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (p : MvPolynomial.{u2, u1} σ R _inst_1) (q : MvPolynomial.{u2, u1} σ R _inst_1), HasSubset.Subset.{u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasSubset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (MvPolynomial.support.{u1, u2} R σ _inst_1 (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) p q)) (Finset.bunionᵢ.{u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (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) (MvPolynomial.support.{u1, u2} R σ _inst_1 p) (fun (a : Finsupp.{u2, 0} σ Nat Nat.hasZero) => Finset.bunionᵢ.{u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (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) (MvPolynomial.support.{u1, u2} R σ _inst_1 q) (fun (b : Finsupp.{u2, 0} σ Nat Nat.hasZero) => Singleton.singleton.{u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasSingleton.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (HAdd.hAdd.{u2, u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (instHAdd.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.add.{u2, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) a b))))
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (p : MvPolynomial.{u1, u2} σ R _inst_1) (q : MvPolynomial.{u1, u2} σ R _inst_1), HasSubset.Subset.{u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instHasSubsetFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.support.{u2, u1} R σ _inst_1 (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) p q)) (Finset.bunionᵢ.{u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (fun (a : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (b : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => 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) (MvPolynomial.support.{u2, u1} R σ _inst_1 p) (fun (a : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Finset.bunionᵢ.{u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (fun (a : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (b : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => 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) (MvPolynomial.support.{u2, u1} R σ _inst_1 q) (fun (b : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Singleton.singleton.{u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instSingletonFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (HAdd.hAdd.{u1, u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHAdd.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.add.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) a b))))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.support_mul MvPolynomial.support_mulₓ'. -/
theorem support_mul (p q : MvPolynomial σ R) :
(p * q).support ⊆ p.support.bunionᵢ fun a => q.support.bunionᵢ fun b => {a + b} := by
convert AddMonoidAlgebra.support_mul p q <;> ext <;> convert Iff.rfl
#align mv_polynomial.support_mul MvPolynomial.support_mul
+/- warning: mv_polynomial.ext -> MvPolynomial.ext is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (p : MvPolynomial.{u2, u1} σ R _inst_1) (q : MvPolynomial.{u2, u1} σ R _inst_1), (forall (m : Finsupp.{u2, 0} σ Nat Nat.hasZero), Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m p) (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m q)) -> (Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) p q)
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (p : MvPolynomial.{u1, u2} σ R _inst_1) (q : MvPolynomial.{u1, u2} σ R _inst_1), (forall (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m p) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m q)) -> (Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u1, u2} σ R _inst_1) p q)
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.ext MvPolynomial.extₓ'. -/
@[ext]
theorem ext (p q : MvPolynomial σ R) : (∀ m, coeff m p = coeff m q) → p = q :=
ext
#align mv_polynomial.ext MvPolynomial.ext
+/- warning: mv_polynomial.ext_iff -> MvPolynomial.ext_iff is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (p : MvPolynomial.{u2, u1} σ R _inst_1) (q : MvPolynomial.{u2, u1} σ R _inst_1), Iff (Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) p q) (forall (m : Finsupp.{u2, 0} σ Nat Nat.hasZero), Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m p) (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m q))
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (p : MvPolynomial.{u1, u2} σ R _inst_1) (q : MvPolynomial.{u1, u2} σ R _inst_1), Iff (Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u1, u2} σ R _inst_1) p q) (forall (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m p) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m q))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.ext_iff MvPolynomial.ext_iffₓ'. -/
theorem ext_iff (p q : MvPolynomial σ R) : p = q ↔ ∀ m, coeff m p = coeff m q :=
⟨fun h m => by rw [h], ext p q⟩
#align mv_polynomial.ext_iff MvPolynomial.ext_iff
+/- warning: mv_polynomial.coeff_add -> MvPolynomial.coeff_add is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (m : Finsupp.{u2, 0} σ Nat Nat.hasZero) (p : MvPolynomial.{u2, u1} σ R _inst_1) (q : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHAdd.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasAdd.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) p q)) (HAdd.hAdd.{u1, u1, u1} R R R (instHAdd.{u1} R (Distrib.toHasAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m p) (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m q))
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (p : MvPolynomial.{u1, u2} σ R _inst_1) (q : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHAdd.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (Distrib.toAdd.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))))) p q)) (HAdd.hAdd.{u2, u2, u2} R R R (instHAdd.{u2} R (Distrib.toAdd.{u2} R (NonUnitalNonAssocSemiring.toDistrib.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m p) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m q))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.coeff_add MvPolynomial.coeff_addₓ'. -/
@[simp]
theorem coeff_add (m : σ →₀ ℕ) (p q : MvPolynomial σ R) : coeff m (p + q) = coeff m p + coeff m q :=
add_apply p q m
#align mv_polynomial.coeff_add MvPolynomial.coeff_add
+/- warning: mv_polynomial.coeff_smul -> MvPolynomial.coeff_smul is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {S₁ : Type.{u3}} [_inst_3 : Monoid.{u3} S₁] [_inst_4 : DistribMulAction.{u3, u1} S₁ R _inst_3 (AddMonoidWithOne.toAddMonoid.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))] (m : Finsupp.{u2, 0} σ Nat Nat.hasZero) (c : S₁) (p : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m (SMul.smul.{u3, max u2 u1} S₁ (MvPolynomial.{u2, u1} σ R _inst_1) (SMulZeroClass.toHasSmul.{u3, max u2 u1} S₁ (MvPolynomial.{u2, u1} σ R _inst_1) (AddZeroClass.toHasZero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (AddMonoidWithOne.toAddMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (AddCommMonoidWithOne.toAddMonoidWithOne.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toAddCommMonoidWithOne.{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.{u3, max u2 u1} S₁ (MvPolynomial.{u2, u1} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (AddMonoidWithOne.toAddMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (AddCommMonoidWithOne.toAddMonoidWithOne.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toAddCommMonoidWithOne.{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.{u3, max u2 u1} S₁ (MvPolynomial.{u2, u1} σ R _inst_1) _inst_3 (AddMonoidWithOne.toAddMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (AddCommMonoidWithOne.toAddMonoidWithOne.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toAddCommMonoidWithOne.{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)))))) (MvPolynomial.distribMulAction.{u3, u1, u2} S₁ R σ _inst_3 _inst_1 _inst_4)))) c p)) (SMul.smul.{u3, u1} S₁ R (SMulZeroClass.toHasSmul.{u3, u1} S₁ R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddMonoidWithOne.toAddMonoid.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (DistribSMul.toSmulZeroClass.{u3, u1} S₁ R (AddMonoid.toAddZeroClass.{u1} R (AddMonoidWithOne.toAddMonoid.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u3, u1} S₁ R _inst_3 (AddMonoidWithOne.toAddMonoid.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) _inst_4))) c (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m p))
+but is expected to have type
+ forall {R : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] {S₁ : Type.{u2}} [_inst_3 : Monoid.{u2} S₁] [_inst_4 : DistribMulAction.{u2, u3} S₁ R _inst_3 (AddMonoidWithOne.toAddMonoid.{u3} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} R (NonAssocSemiring.toAddCommMonoidWithOne.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))))] (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (c : S₁) (p : MvPolynomial.{u1, u3} σ R _inst_1), Eq.{succ u3} R (MvPolynomial.coeff.{u3, u1} R σ _inst_1 m (HSMul.hSMul.{u2, max u3 u1, max u3 u1} S₁ (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u1, u3} σ R _inst_1) (instHSMul.{u2, max u3 u1} S₁ (MvPolynomial.{u1, u3} σ R _inst_1) (SMulZeroClass.toSMul.{u2, max u3 u1} S₁ (MvPolynomial.{u1, u3} σ R _inst_1) (CommMonoidWithZero.toZero.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toCommMonoidWithZero.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (DistribSMul.toSMulZeroClass.{u2, max u3 u1} S₁ (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoidWithOne.toAddMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoidWithOne.toAddMonoidWithOne.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toAddCommMonoidWithOne.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u2, max u3 u1} S₁ (MvPolynomial.{u1, u3} σ R _inst_1) _inst_3 (AddMonoidWithOne.toAddMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoidWithOne.toAddMonoidWithOne.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toAddCommMonoidWithOne.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (MvPolynomial.distribuMulAction.{u2, u3, u1} S₁ R σ _inst_3 _inst_1 _inst_4))))) c p)) (HSMul.hSMul.{u2, u3, u3} S₁ R R (instHSMul.{u2, u3} S₁ R (SMulZeroClass.toSMul.{u2, u3} S₁ R (CommMonoidWithZero.toZero.{u3} R (CommSemiring.toCommMonoidWithZero.{u3} R _inst_1)) (DistribSMul.toSMulZeroClass.{u2, u3} S₁ R (AddMonoid.toAddZeroClass.{u3} R (AddMonoidWithOne.toAddMonoid.{u3} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} R (NonAssocSemiring.toAddCommMonoidWithOne.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u2, u3} S₁ R _inst_3 (AddMonoidWithOne.toAddMonoid.{u3} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} R (NonAssocSemiring.toAddCommMonoidWithOne.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) _inst_4)))) c (MvPolynomial.coeff.{u3, u1} R σ _inst_1 m p))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.coeff_smul MvPolynomial.coeff_smulₓ'. -/
@[simp]
theorem coeff_smul {S₁ : Type _} [Monoid S₁] [DistribMulAction S₁ R] (m : σ →₀ ℕ) (c : S₁)
(p : MvPolynomial σ R) : coeff m (c • p) = c • coeff m p :=
smul_apply c p m
#align mv_polynomial.coeff_smul MvPolynomial.coeff_smul
+/- warning: mv_polynomial.coeff_zero -> MvPolynomial.coeff_zero is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (m : Finsupp.{u2, 0} σ Nat Nat.hasZero), Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m (OfNat.ofNat.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) 0 (OfNat.mk.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) 0 (Zero.zero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MulZeroClass.toHasZero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toMulZeroClass.{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)))))))))) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m (OfNat.ofNat.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) 0 (Zero.toOfNat0.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (CommMonoidWithZero.toZero.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toCommMonoidWithZero.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))))) (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_zero MvPolynomial.coeff_zeroₓ'. -/
@[simp]
theorem coeff_zero (m : σ →₀ ℕ) : coeff m (0 : MvPolynomial σ R) = 0 :=
rfl
#align mv_polynomial.coeff_zero MvPolynomial.coeff_zero
+/- warning: mv_polynomial.coeff_zero_X -> MvPolynomial.coeff_zero_X is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (i : σ), Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 (OfNat.ofNat.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (OfNat.mk.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (Zero.zero.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.zero.{u2, 0} σ Nat Nat.hasZero)))) (MvPolynomial.X.{u1, u2} R σ _inst_1 i)) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (i : σ), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 (OfNat.ofNat.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) 0 (Zero.toOfNat0.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.zero.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)))) (MvPolynomial.X.{u2, u1} R σ _inst_1 i)) (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_zero_X MvPolynomial.coeff_zero_Xₓ'. -/
@[simp]
-theorem coeff_zero_x (i : σ) : coeff 0 (x i : MvPolynomial σ R) = 0 :=
+theorem coeff_zero_X (i : σ) : coeff 0 (X i : MvPolynomial σ R) = 0 :=
single_eq_of_ne fun h => by cases single_eq_zero.1 h
-#align mv_polynomial.coeff_zero_X MvPolynomial.coeff_zero_x
+#align mv_polynomial.coeff_zero_X MvPolynomial.coeff_zero_X
+#print MvPolynomial.coeffAddMonoidHom /-
/-- `mv_polynomial.coeff m` but promoted to an `add_monoid_hom`. -/
@[simps]
def coeffAddMonoidHom (m : σ →₀ ℕ) : MvPolynomial σ R →+ R
@@ -603,110 +1064,225 @@ def coeffAddMonoidHom (m : σ →₀ ℕ) : MvPolynomial σ R →+ R
map_zero' := coeff_zero m
map_add' := coeff_add m
#align mv_polynomial.coeff_add_monoid_hom MvPolynomial.coeffAddMonoidHom
+-/
+/- warning: mv_polynomial.coeff_sum -> MvPolynomial.coeff_sum is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {X : Type.{u3}} (s : Finset.{u3} X) (f : X -> (MvPolynomial.{u2, u1} σ R _inst_1)) (m : Finsupp.{u2, 0} σ Nat Nat.hasZero), Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m (Finset.sum.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) X (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))))) s (fun (x : X) => f x))) (Finset.sum.{u1, u3} R X (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) s (fun (x : X) => MvPolynomial.coeff.{u1, u2} R σ _inst_1 m (f x)))
+but is expected to have type
+ forall {R : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] {X : Type.{u2}} (s : Finset.{u2} X) (f : X -> (MvPolynomial.{u1, u3} σ R _inst_1)) (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)), Eq.{succ u3} R (MvPolynomial.coeff.{u3, u1} R σ _inst_1 m (Finset.sum.{max u1 u3, u2} (MvPolynomial.{u1, u3} σ R _inst_1) X (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) s (fun (x : X) => f x))) (Finset.sum.{u3, u2} R X (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) s (fun (x : X) => MvPolynomial.coeff.{u3, u1} R σ _inst_1 m (f x)))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.coeff_sum MvPolynomial.coeff_sumₓ'. -/
theorem coeff_sum {X : Type _} (s : Finset X) (f : X → MvPolynomial σ R) (m : σ →₀ ℕ) :
coeff m (∑ x in s, f x) = ∑ x in s, coeff m (f x) :=
(@coeffAddMonoidHom R σ _ _).map_sum _ s
#align mv_polynomial.coeff_sum MvPolynomial.coeff_sum
+/- warning: mv_polynomial.monic_monomial_eq -> MvPolynomial.monic_monomial_eq is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (m : Finsupp.{u2, 0} σ Nat Nat.hasZero), Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 m) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) (Finsupp.prod.{u2, 0, max u2 u1} σ Nat (MvPolynomial.{u2, u1} σ R _inst_1) Nat.hasZero (CommSemiring.toCommMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) m (fun (n : σ) (e : Nat) => HPow.hPow.{max u2 u1, 0, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) Nat (MvPolynomial.{u2, u1} σ R _inst_1) (instHPow.{max u2 u1, 0} (MvPolynomial.{u2, u1} σ R _inst_1) Nat (Monoid.Pow.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MonoidWithZero.toMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (MvPolynomial.X.{u1, u2} R σ _inst_1 n) e))
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 m) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (Finsupp.prod.{u1, 0, max u2 u1} σ Nat (MvPolynomial.{u1, u2} σ R _inst_1) (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (CommSemiring.toCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) m (fun (n : σ) (e : Nat) => HPow.hPow.{max u1 u2, 0, max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (MvPolynomial.{u1, u2} σ R _inst_1) (instHPow.{max u1 u2, 0} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (Monoid.Pow.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (MvPolynomial.X.{u2, u1} R σ _inst_1 n) e))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.monic_monomial_eq MvPolynomial.monic_monomial_eqₓ'. -/
theorem monic_monomial_eq (m) :
- monomial m (1 : R) = (m.Prod fun n e => x n ^ e : MvPolynomial σ R) := by simp [monomial_eq]
+ monomial m (1 : R) = (m.Prod fun n e => X n ^ e : MvPolynomial σ R) := by simp [monomial_eq]
#align mv_polynomial.monic_monomial_eq MvPolynomial.monic_monomial_eq
+/- warning: mv_polynomial.coeff_monomial -> MvPolynomial.coeff_monomial is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_3 : DecidableEq.{succ u2} σ] (m : Finsupp.{u2, 0} σ Nat Nat.hasZero) (n : Finsupp.{u2, 0} σ Nat Nat.hasZero) (a : R), Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 n) a)) (ite.{succ u1} R (Eq.{succ u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) n m) (Finsupp.decidableEq.{u2, 0} σ Nat Nat.hasZero (fun (a : σ) (b : σ) => _inst_3 a b) (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) n m) a (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_3 : DecidableEq.{succ u1} σ] (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (n : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (a : R), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 n) a)) (ite.{succ u2} R (Eq.{succ u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) n m) (Finsupp.decidableEq.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (fun (a : σ) (b : σ) => _inst_3 a b) (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) n m) a (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_monomial MvPolynomial.coeff_monomialₓ'. -/
@[simp]
theorem coeff_monomial [DecidableEq σ] (m n) (a) :
coeff m (monomial n a : MvPolynomial σ R) = if n = m then a else 0 :=
single_apply
#align mv_polynomial.coeff_monomial MvPolynomial.coeff_monomial
+/- warning: mv_polynomial.coeff_C -> MvPolynomial.coeff_C is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_3 : DecidableEq.{succ u2} σ] (m : Finsupp.{u2, 0} σ Nat Nat.hasZero) (a : R), Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a)) (ite.{succ u1} R (Eq.{succ u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (OfNat.ofNat.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (OfNat.mk.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (Zero.zero.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.zero.{u2, 0} σ Nat Nat.hasZero)))) m) (Finsupp.decidableEq.{u2, 0} σ Nat Nat.hasZero (fun (a : σ) (b : σ) => _inst_3 a b) (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) (OfNat.ofNat.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (OfNat.mk.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (Zero.zero.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.zero.{u2, 0} σ Nat Nat.hasZero)))) m) a (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_3 : DecidableEq.{succ u1} σ] (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (a : R), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m (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) a)) (ite.{succ u2} R (Eq.{succ u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (OfNat.ofNat.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) 0 (Zero.toOfNat0.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.zero.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)))) m) (Finsupp.decidableEq.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (fun (a : σ) (b : σ) => _inst_3 a b) (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) (OfNat.ofNat.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) 0 (Zero.toOfNat0.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.zero.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)))) m) a (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_C MvPolynomial.coeff_Cₓ'. -/
@[simp]
-theorem coeff_c [DecidableEq σ] (m) (a) :
- coeff m (c a : MvPolynomial σ R) = if 0 = m then a else 0 :=
+theorem coeff_C [DecidableEq σ] (m) (a) :
+ coeff m (C a : MvPolynomial σ R) = if 0 = m then a else 0 :=
single_apply
-#align mv_polynomial.coeff_C MvPolynomial.coeff_c
-
+#align mv_polynomial.coeff_C MvPolynomial.coeff_C
+
+/- warning: mv_polynomial.coeff_one -> MvPolynomial.coeff_one is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_3 : DecidableEq.{succ u2} σ] (m : Finsupp.{u2, 0} σ Nat Nat.hasZero), Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m (OfNat.ofNat.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) 1 (OfNat.mk.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) 1 (One.one.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (AddMonoidWithOne.toOne.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (AddCommMonoidWithOne.toAddMonoidWithOne.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toAddCommMonoidWithOne.{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)))))))))) (ite.{succ u1} R (Eq.{succ u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (OfNat.ofNat.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (OfNat.mk.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (Zero.zero.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.zero.{u2, 0} σ Nat Nat.hasZero)))) m) (Finsupp.decidableEq.{u2, 0} σ Nat Nat.hasZero (fun (a : σ) (b : σ) => _inst_3 a b) (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) (OfNat.ofNat.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (OfNat.mk.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (Zero.zero.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.zero.{u2, 0} σ Nat Nat.hasZero)))) m) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_3 : DecidableEq.{succ u1} σ] (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m (OfNat.ofNat.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) 1 (One.toOfNat1.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toOne.{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)))))) (ite.{succ u2} R (Eq.{succ u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (OfNat.ofNat.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) 0 (Zero.toOfNat0.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.zero.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)))) m) (Finsupp.decidableEq.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (fun (a : σ) (b : σ) => _inst_3 a b) (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) (OfNat.ofNat.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) 0 (Zero.toOfNat0.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.zero.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)))) m) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (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_one MvPolynomial.coeff_oneₓ'. -/
theorem coeff_one [DecidableEq σ] (m) : coeff m (1 : MvPolynomial σ R) = if 0 = m then 1 else 0 :=
- coeff_c m 1
+ coeff_C m 1
#align mv_polynomial.coeff_one MvPolynomial.coeff_one
+/- warning: mv_polynomial.coeff_zero_C -> MvPolynomial.coeff_zero_C is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (a : R), Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 (OfNat.ofNat.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (OfNat.mk.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (Zero.zero.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.zero.{u2, 0} σ Nat Nat.hasZero)))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a)) a
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (a : R), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 (OfNat.ofNat.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) 0 (Zero.toOfNat0.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.zero.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)))) (FunLike.coe.{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) a)) a
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.coeff_zero_C MvPolynomial.coeff_zero_Cₓ'. -/
@[simp]
-theorem coeff_zero_c (a) : coeff 0 (c a : MvPolynomial σ R) = a :=
+theorem coeff_zero_C (a) : coeff 0 (C a : MvPolynomial σ R) = a :=
single_eq_same
-#align mv_polynomial.coeff_zero_C MvPolynomial.coeff_zero_c
+#align mv_polynomial.coeff_zero_C MvPolynomial.coeff_zero_C
+/- warning: mv_polynomial.coeff_zero_one -> MvPolynomial.coeff_zero_one is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R], Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 (OfNat.ofNat.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (OfNat.mk.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (Zero.zero.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.zero.{u2, 0} σ Nat Nat.hasZero)))) (OfNat.ofNat.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) 1 (OfNat.mk.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) 1 (One.one.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (AddMonoidWithOne.toOne.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (AddCommMonoidWithOne.toAddMonoidWithOne.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toAddCommMonoidWithOne.{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)))))))))) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R], Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 (OfNat.ofNat.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) 0 (Zero.toOfNat0.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.zero.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)))) (OfNat.ofNat.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) 1 (One.toOfNat1.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toOne.{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)))))) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.coeff_zero_one MvPolynomial.coeff_zero_oneₓ'. -/
@[simp]
theorem coeff_zero_one : coeff 0 (1 : MvPolynomial σ R) = 1 :=
- coeff_zero_c 1
+ coeff_zero_C 1
#align mv_polynomial.coeff_zero_one MvPolynomial.coeff_zero_one
-theorem coeff_x_pow [DecidableEq σ] (i : σ) (m) (k : ℕ) :
- coeff m (x i ^ k : MvPolynomial σ R) = if single i k = m then 1 else 0 :=
+/- warning: mv_polynomial.coeff_X_pow -> MvPolynomial.coeff_X_pow is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_3 : DecidableEq.{succ u2} σ] (i : σ) (m : Finsupp.{u2, 0} σ Nat Nat.hasZero) (k : Nat), Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m (HPow.hPow.{max u2 u1, 0, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) Nat (MvPolynomial.{u2, u1} σ R _inst_1) (instHPow.{max u2 u1, 0} (MvPolynomial.{u2, u1} σ R _inst_1) Nat (Monoid.Pow.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MonoidWithZero.toMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (MvPolynomial.X.{u1, u2} R σ _inst_1 i) k)) (ite.{succ u1} R (Eq.{succ u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.single.{u2, 0} σ Nat Nat.hasZero i k) m) (Finsupp.decidableEq.{u2, 0} σ Nat Nat.hasZero (fun (a : σ) (b : σ) => _inst_3 a b) (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) (Finsupp.single.{u2, 0} σ Nat Nat.hasZero i k) m) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_3 : DecidableEq.{succ u1} σ] (i : σ) (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (k : Nat), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m (HPow.hPow.{max u1 u2, 0, max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (MvPolynomial.{u1, u2} σ R _inst_1) (instHPow.{max u1 u2, 0} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (Monoid.Pow.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) (MvPolynomial.X.{u2, u1} R σ _inst_1 i) k)) (ite.{succ u2} R (Eq.{succ u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.single.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) i k) m) (Finsupp.decidableEq.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (fun (a : σ) (b : σ) => _inst_3 a b) (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) (Finsupp.single.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) i k) m) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (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_X_pow MvPolynomial.coeff_X_powₓ'. -/
+theorem coeff_X_pow [DecidableEq σ] (i : σ) (m) (k : ℕ) :
+ coeff m (X i ^ k : MvPolynomial σ R) = if single i k = m then 1 else 0 :=
by
have := coeff_monomial m (Finsupp.single i k) (1 : R)
rwa [@monomial_eq _ _ (1 : R) (Finsupp.single i k) _, C_1, one_mul, Finsupp.prod_single_index] at
this
exact pow_zero _
-#align mv_polynomial.coeff_X_pow MvPolynomial.coeff_x_pow
-
+#align mv_polynomial.coeff_X_pow MvPolynomial.coeff_X_pow
+
+/- warning: mv_polynomial.coeff_X' -> MvPolynomial.coeff_X' is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_3 : DecidableEq.{succ u2} σ] (i : σ) (m : Finsupp.{u2, 0} σ Nat Nat.hasZero), Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m (MvPolynomial.X.{u1, u2} R σ _inst_1 i)) (ite.{succ u1} R (Eq.{succ u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.single.{u2, 0} σ Nat Nat.hasZero i (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) m) (Finsupp.decidableEq.{u2, 0} σ Nat Nat.hasZero (fun (a : σ) (b : σ) => _inst_3 a b) (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) (Finsupp.single.{u2, 0} σ Nat Nat.hasZero i (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) m) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_3 : DecidableEq.{succ u1} σ] (i : σ) (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m (MvPolynomial.X.{u2, u1} R σ _inst_1 i)) (ite.{succ u2} R (Eq.{succ u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.single.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) i (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) m) (Finsupp.decidableEq.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (fun (a : σ) (b : σ) => _inst_3 a b) (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) (Finsupp.single.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) i (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) m) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (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_X' MvPolynomial.coeff_X'ₓ'. -/
theorem coeff_X' [DecidableEq σ] (i : σ) (m) :
- coeff m (x i : MvPolynomial σ R) = if single i 1 = m then 1 else 0 := by
+ coeff m (X i : MvPolynomial σ R) = if single i 1 = m then 1 else 0 := by
rw [← coeff_X_pow, pow_one]
#align mv_polynomial.coeff_X' MvPolynomial.coeff_X'
+/- warning: mv_polynomial.coeff_X -> MvPolynomial.coeff_X is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (i : σ), Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 (Finsupp.single.{u2, 0} σ Nat Nat.hasZero i (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (MvPolynomial.X.{u1, u2} R σ _inst_1 i)) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (i : σ), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 (Finsupp.single.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) i (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (MvPolynomial.X.{u2, u1} R σ _inst_1 i)) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.coeff_X MvPolynomial.coeff_Xₓ'. -/
@[simp]
-theorem coeff_x (i : σ) : coeff (single i 1) (x i : MvPolynomial σ R) = 1 := by
+theorem coeff_X (i : σ) : coeff (single i 1) (X i : MvPolynomial σ R) = 1 := by
rw [coeff_X', if_pos rfl]
-#align mv_polynomial.coeff_X MvPolynomial.coeff_x
+#align mv_polynomial.coeff_X MvPolynomial.coeff_X
+/- warning: mv_polynomial.coeff_C_mul -> MvPolynomial.coeff_C_mul is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (m : Finsupp.{u2, 0} σ Nat Nat.hasZero) (a : R) (p : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a) p)) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) a (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m p))
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (a : R) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m (HMul.hMul.{max u2 u1, max u2 u1, max u1 u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.commSemiring.{u2, u1} 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 (_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) a) p)) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) a (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m p))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.coeff_C_mul MvPolynomial.coeff_C_mulₓ'. -/
@[simp]
-theorem coeff_c_mul (m) (a : R) (p : MvPolynomial σ R) : coeff m (c a * p) = a * coeff m p :=
+theorem coeff_C_mul (m) (a : R) (p : MvPolynomial σ R) : coeff m (C a * p) = a * coeff m p :=
by
rw [mul_def, sum_C]
· simp (config := { contextual := true }) [sum_def, coeff_sum]
simp
-#align mv_polynomial.coeff_C_mul MvPolynomial.coeff_c_mul
-
+#align mv_polynomial.coeff_C_mul MvPolynomial.coeff_C_mul
+
+/- warning: mv_polynomial.coeff_mul -> MvPolynomial.coeff_mul is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (p : MvPolynomial.{u2, u1} σ R _inst_1) (q : MvPolynomial.{u2, u1} σ R _inst_1) (n : Finsupp.{u2, 0} σ Nat Nat.hasZero), Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 n (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) p q)) (Finset.sum.{u1, u2} R (Prod.{u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Finsupp.antidiagonal.{u2} σ n) (fun (x : Prod.{u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero)) => HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (MvPolynomial.coeff.{u1, u2} R σ _inst_1 (Prod.fst.{u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) x) p) (MvPolynomial.coeff.{u1, u2} R σ _inst_1 (Prod.snd.{u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) x) q)))
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (p : MvPolynomial.{u1, u2} σ R _inst_1) (q : MvPolynomial.{u1, u2} σ R _inst_1) (n : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 n (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) p q)) (Finset.sum.{u2, u1} R (Prod.{u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Finsupp.antidiagonal.{u1} σ n) (fun (x : Prod.{u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) => HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 (Prod.fst.{u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) x) p) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 (Prod.snd.{u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) x) q)))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.coeff_mul MvPolynomial.coeff_mulₓ'. -/
theorem coeff_mul (p q : MvPolynomial σ R) (n : σ →₀ ℕ) :
coeff n (p * q) = ∑ x in antidiagonal n, coeff x.1 p * coeff x.2 q :=
AddMonoidAlgebra.mul_apply_antidiagonal p q _ _ fun p => mem_antidiagonal
#align mv_polynomial.coeff_mul MvPolynomial.coeff_mul
+/- warning: mv_polynomial.coeff_mul_monomial -> MvPolynomial.coeff_mul_monomial is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (m : Finsupp.{u2, 0} σ Nat Nat.hasZero) (s : Finsupp.{u2, 0} σ Nat Nat.hasZero) (r : R) (p : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 (HAdd.hAdd.{u2, u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (instHAdd.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.add.{u2, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) m s) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) p (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) r))) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m p) r)
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (r : R) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 (HAdd.hAdd.{u1, u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHAdd.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.add.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) m s) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) p (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) r))) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m p) r)
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.coeff_mul_monomial MvPolynomial.coeff_mul_monomialₓ'. -/
@[simp]
theorem coeff_mul_monomial (m) (s : σ →₀ ℕ) (r : R) (p : MvPolynomial σ R) :
coeff (m + s) (p * monomial s r) = coeff m p * r :=
AddMonoidAlgebra.mul_single_apply_aux p _ _ _ _ fun a => add_left_inj _
#align mv_polynomial.coeff_mul_monomial MvPolynomial.coeff_mul_monomial
+/- warning: mv_polynomial.coeff_monomial_mul -> MvPolynomial.coeff_monomial_mul is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (m : Finsupp.{u2, 0} σ Nat Nat.hasZero) (s : Finsupp.{u2, 0} σ Nat Nat.hasZero) (r : R) (p : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 (HAdd.hAdd.{u2, u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (instHAdd.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.add.{u2, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) s m) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) r) p)) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) r (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m p))
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (r : R) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 (HAdd.hAdd.{u1, u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHAdd.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.add.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) s m) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) r) p)) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) r (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m p))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.coeff_monomial_mul MvPolynomial.coeff_monomial_mulₓ'. -/
@[simp]
theorem coeff_monomial_mul (m) (s : σ →₀ ℕ) (r : R) (p : MvPolynomial σ R) :
coeff (s + m) (monomial s r * p) = r * coeff m p :=
AddMonoidAlgebra.single_mul_apply_aux p _ _ _ _ fun a => add_right_inj _
#align mv_polynomial.coeff_monomial_mul MvPolynomial.coeff_monomial_mul
+/- warning: mv_polynomial.coeff_mul_X -> MvPolynomial.coeff_mul_X is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (m : Finsupp.{u2, 0} σ Nat Nat.hasZero) (s : σ) (p : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 (HAdd.hAdd.{u2, u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (instHAdd.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.add.{u2, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) m (Finsupp.single.{u2, 0} σ Nat Nat.hasZero s (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) p (MvPolynomial.X.{u1, u2} R σ _inst_1 s))) (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m p)
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (s : σ) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 (HAdd.hAdd.{u1, u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHAdd.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.add.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) m (Finsupp.single.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) s (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (HMul.hMul.{max u2 u1, max u1 u2, max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) p (MvPolynomial.X.{u2, u1} R σ _inst_1 s))) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m p)
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.coeff_mul_X MvPolynomial.coeff_mul_Xₓ'. -/
@[simp]
-theorem coeff_mul_x (m) (s : σ) (p : MvPolynomial σ R) :
- coeff (m + single s 1) (p * x s) = coeff m p :=
+theorem coeff_mul_X (m) (s : σ) (p : MvPolynomial σ R) :
+ coeff (m + single s 1) (p * X s) = coeff m p :=
(coeff_mul_monomial _ _ _ _).trans (mul_one _)
-#align mv_polynomial.coeff_mul_X MvPolynomial.coeff_mul_x
+#align mv_polynomial.coeff_mul_X MvPolynomial.coeff_mul_X
+/- warning: mv_polynomial.coeff_X_mul -> MvPolynomial.coeff_X_mul is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (m : Finsupp.{u2, 0} σ Nat Nat.hasZero) (s : σ) (p : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 (HAdd.hAdd.{u2, u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (instHAdd.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.add.{u2, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Finsupp.single.{u2, 0} σ Nat Nat.hasZero s (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) m) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (MvPolynomial.X.{u1, u2} R σ _inst_1 s) p)) (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m p)
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (s : σ) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 (HAdd.hAdd.{u1, u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHAdd.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.add.{u1, 0} σ Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid))) (Finsupp.single.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) s (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) m) (HMul.hMul.{max u1 u2, max u2 u1, max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) (MvPolynomial.X.{u2, u1} R σ _inst_1 s) p)) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m p)
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.coeff_X_mul MvPolynomial.coeff_X_mulₓ'. -/
@[simp]
-theorem coeff_x_mul (m) (s : σ) (p : MvPolynomial σ R) :
- coeff (single s 1 + m) (x s * p) = coeff m p :=
+theorem coeff_X_mul (m) (s : σ) (p : MvPolynomial σ R) :
+ coeff (single s 1 + m) (X s * p) = coeff m p :=
(coeff_monomial_mul _ _ _ _).trans (one_mul _)
-#align mv_polynomial.coeff_X_mul MvPolynomial.coeff_x_mul
+#align mv_polynomial.coeff_X_mul MvPolynomial.coeff_X_mul
+/- warning: mv_polynomial.support_mul_X -> MvPolynomial.support_mul_X is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (s : σ) (p : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{succ u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (MvPolynomial.support.{u1, u2} R σ _inst_1 (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) p (MvPolynomial.X.{u1, u2} R σ _inst_1 s))) (Finset.map.{u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (addRightEmbedding.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (AddRightCancelMonoid.toAddRightCancelSemigroup.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (AddCancelMonoid.toAddRightCancelMonoid.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (AddCancelCommMonoid.toAddCancelMonoid.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.orderedCancelAddCommMonoid.{u2, 0} σ Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring)))))) (Finsupp.single.{u2, 0} σ Nat Nat.hasZero s (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (MvPolynomial.support.{u1, u2} R σ _inst_1 p))
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (s : σ) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.support.{u2, u1} R σ _inst_1 (HMul.hMul.{max u2 u1, max u1 u2, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) p (MvPolynomial.X.{u2, u1} R σ _inst_1 s))) (Finset.map.{u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (addRightEmbedding.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (AddRightCancelMonoid.toAddRightCancelSemigroup.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.orderedCancelAddCommMonoid.{u1, 0} σ Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring)))))) (Finsupp.single.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) s (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (MvPolynomial.support.{u2, u1} R σ _inst_1 p))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.support_mul_X MvPolynomial.support_mul_Xₓ'. -/
@[simp]
-theorem support_mul_x (s : σ) (p : MvPolynomial σ R) :
- (p * x s).support = p.support.map (addRightEmbedding (single s 1)) :=
+theorem support_mul_X (s : σ) (p : MvPolynomial σ R) :
+ (p * X s).support = p.support.map (addRightEmbedding (single s 1)) :=
AddMonoidAlgebra.support_mul_single p _ (by simp) _
-#align mv_polynomial.support_mul_X MvPolynomial.support_mul_x
+#align mv_polynomial.support_mul_X MvPolynomial.support_mul_X
+/- warning: mv_polynomial.support_X_mul -> MvPolynomial.support_X_mul is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (s : σ) (p : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{succ u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (MvPolynomial.support.{u1, u2} R σ _inst_1 (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (MvPolynomial.X.{u1, u2} R σ _inst_1 s) p)) (Finset.map.{u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (addLeftEmbedding.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (AddLeftCancelMonoid.toAddLeftCancelSemigroup.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (AddCancelCommMonoid.toAddLeftCancelMonoid.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.orderedCancelAddCommMonoid.{u2, 0} σ Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (Finsupp.single.{u2, 0} σ Nat Nat.hasZero s (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (MvPolynomial.support.{u1, u2} R σ _inst_1 p))
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (s : σ) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.support.{u2, u1} R σ _inst_1 (HMul.hMul.{max u1 u2, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) (MvPolynomial.X.{u2, u1} R σ _inst_1 s) p)) (Finset.map.{u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (addLeftEmbedding.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (AddLeftCancelMonoid.toAddLeftCancelSemigroup.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (AddCancelCommMonoid.toAddLeftCancelMonoid.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.orderedCancelAddCommMonoid.{u1, 0} σ Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (Finsupp.single.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) s (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (MvPolynomial.support.{u2, u1} R σ _inst_1 p))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.support_X_mul MvPolynomial.support_X_mulₓ'. -/
@[simp]
-theorem support_x_mul (s : σ) (p : MvPolynomial σ R) :
- (x s * p).support = p.support.map (addLeftEmbedding (single s 1)) :=
+theorem support_X_mul (s : σ) (p : MvPolynomial σ R) :
+ (X s * p).support = p.support.map (addLeftEmbedding (single s 1)) :=
AddMonoidAlgebra.support_single_mul p _ (by simp) _
-#align mv_polynomial.support_X_mul MvPolynomial.support_x_mul
-
+#align mv_polynomial.support_X_mul MvPolynomial.support_X_mul
+
+/- warning: mv_polynomial.support_sdiff_support_subset_support_add -> MvPolynomial.support_sdiff_support_subset_support_add is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_3 : DecidableEq.{succ u2} σ] (p : MvPolynomial.{u2, u1} σ R _inst_1) (q : MvPolynomial.{u2, u1} σ R _inst_1), HasSubset.Subset.{u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasSubset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (SDiff.sdiff.{u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasSdiff.{u2} (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 : σ) => _inst_3 a b) (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) a b)) (MvPolynomial.support.{u1, u2} R σ _inst_1 p) (MvPolynomial.support.{u1, u2} R σ _inst_1 q)) (MvPolynomial.support.{u1, u2} R σ _inst_1 (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHAdd.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasAdd.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) p q))
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_3 : DecidableEq.{succ u1} σ] (p : MvPolynomial.{u1, u2} σ R _inst_1) (q : MvPolynomial.{u1, u2} σ R _inst_1), HasSubset.Subset.{u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instHasSubsetFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (SDiff.sdiff.{u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instSDiffFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (fun (a : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (b : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Finsupp.decidableEq.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (fun (a : σ) (b : σ) => _inst_3 a b) (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) a b)) (MvPolynomial.support.{u2, u1} R σ _inst_1 p) (MvPolynomial.support.{u2, u1} R σ _inst_1 q)) (MvPolynomial.support.{u2, u1} R σ _inst_1 (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHAdd.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (Distrib.toAdd.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))))) p q))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.support_sdiff_support_subset_support_add MvPolynomial.support_sdiff_support_subset_support_addₓ'. -/
theorem support_sdiff_support_subset_support_add [DecidableEq σ] (p q : MvPolynomial σ R) :
p.support \ q.support ⊆ (p + q).support :=
by
@@ -715,6 +1291,12 @@ theorem support_sdiff_support_subset_support_add [DecidableEq σ] (p q : MvPolyn
simp [hm.2, hm.1]
#align mv_polynomial.support_sdiff_support_subset_support_add MvPolynomial.support_sdiff_support_subset_support_add
+/- warning: mv_polynomial.support_symm_diff_support_subset_support_add -> MvPolynomial.support_symmDiff_support_subset_support_add is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_3 : DecidableEq.{succ u2} σ] (p : MvPolynomial.{u2, u1} σ R _inst_1) (q : MvPolynomial.{u2, u1} σ R _inst_1), HasSubset.Subset.{u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.hasSubset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (symmDiff.{u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (SemilatticeSup.toHasSup.{u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Lattice.toSemilatticeSup.{u2} (Finset.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero)) (Finset.lattice.{u2} (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 : σ) => _inst_3 a b) (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) a b)))) (Finset.hasSdiff.{u2} (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 : σ) => _inst_3 a b) (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) a b)) (MvPolynomial.support.{u1, u2} R σ _inst_1 p) (MvPolynomial.support.{u1, u2} R σ _inst_1 q)) (MvPolynomial.support.{u1, u2} R σ _inst_1 (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHAdd.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasAdd.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) p q))
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_3 : DecidableEq.{succ u1} σ] (p : MvPolynomial.{u1, u2} σ R _inst_1) (q : MvPolynomial.{u1, u2} σ R _inst_1), HasSubset.Subset.{u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instHasSubsetFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (symmDiff.{u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (SemilatticeSup.toSup.{u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Lattice.toSemilatticeSup.{u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instLatticeFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (fun (a : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (b : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Finsupp.decidableEq.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (fun (a : σ) (b : σ) => _inst_3 a b) (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) a b)))) (Finset.instSDiffFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (fun (a : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (b : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Finsupp.decidableEq.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (fun (a : σ) (b : σ) => _inst_3 a b) (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) a b)) (MvPolynomial.support.{u2, u1} R σ _inst_1 p) (MvPolynomial.support.{u2, u1} R σ _inst_1 q)) (MvPolynomial.support.{u2, u1} R σ _inst_1 (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHAdd.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (Distrib.toAdd.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))))) p q))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.support_symm_diff_support_subset_support_add MvPolynomial.support_symmDiff_support_subset_support_addₓ'. -/
theorem support_symmDiff_support_subset_support_add [DecidableEq σ] (p q : MvPolynomial σ R) :
p.support ∆ q.support ⊆ (p + q).support :=
by
@@ -725,6 +1307,12 @@ theorem support_symmDiff_support_subset_support_add [DecidableEq σ] (p q : MvPo
exact support_sdiff_support_subset_support_add q p
#align mv_polynomial.support_symm_diff_support_subset_support_add MvPolynomial.support_symmDiff_support_subset_support_add
+/- warning: mv_polynomial.coeff_mul_monomial' -> MvPolynomial.coeff_mul_monomial' is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (m : Finsupp.{u2, 0} σ Nat Nat.hasZero) (s : Finsupp.{u2, 0} σ Nat Nat.hasZero) (r : R) (p : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) p (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) r))) (ite.{succ u1} R (LE.le.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.hasLe.{u2, 0} σ Nat Nat.hasZero Nat.hasLe) s m) (Finsupp.decidableLE.{u2, 0} σ Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) (fun (a : Nat) (b : Nat) => Nat.decidableLe a b) s m) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (MvPolynomial.coeff.{u1, u2} R σ _inst_1 (HSub.hSub.{u2, u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (instHSub.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.tsub.{u2, 0} σ Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) Nat.hasSub Nat.hasOrderedSub)) m s) p) r) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (r : R) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) p (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) r))) (ite.{succ u2} R (LE.le.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.instLEFinsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) instLENat) s m) (Finsupp.decidableLE.{u1, 0} σ Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) (fun (a : Nat) (b : Nat) => Nat.decLe a b) s m) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 (HSub.hSub.{u1, u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHSub.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.tsub.{u1, 0} σ Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) instSubNat Nat.instOrderedSubNatInstLENatInstAddNatInstSubNat)) m s) p) r) (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_mul_monomial' MvPolynomial.coeff_mul_monomial'ₓ'. -/
theorem coeff_mul_monomial' (m) (s : σ →₀ ℕ) (r : R) (p : MvPolynomial σ R) :
coeff m (p * monomial s r) = if s ≤ m then coeff (m - s) p * r else 0 :=
by
@@ -748,6 +1336,12 @@ theorem coeff_mul_monomial' (m) (s : σ →₀ ℕ) (r : R) (p : MvPolynomial σ
exact le_add_left le_rfl
#align mv_polynomial.coeff_mul_monomial' MvPolynomial.coeff_mul_monomial'
+/- warning: mv_polynomial.coeff_monomial_mul' -> MvPolynomial.coeff_monomial_mul' is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (m : Finsupp.{u2, 0} σ Nat Nat.hasZero) (s : Finsupp.{u2, 0} σ Nat Nat.hasZero) (r : R) (p : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) r) p)) (ite.{succ u1} R (LE.le.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.hasLe.{u2, 0} σ Nat Nat.hasZero Nat.hasLe) s m) (Finsupp.decidableLE.{u2, 0} σ Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) (fun (a : Nat) (b : Nat) => Nat.decidableLe a b) s m) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) r (MvPolynomial.coeff.{u1, u2} R σ _inst_1 (HSub.hSub.{u2, u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (instHSub.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.tsub.{u2, 0} σ Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) Nat.hasSub Nat.hasOrderedSub)) m s) p)) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (r : R) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (instHMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (Semiring.toNonAssocSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (CommSemiring.toSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))))) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) r) p)) (ite.{succ u2} R (LE.le.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.instLEFinsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) instLENat) s m) (Finsupp.decidableLE.{u1, 0} σ Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) (fun (a : Nat) (b : Nat) => Nat.decLe a b) s m) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) r (MvPolynomial.coeff.{u2, u1} R σ _inst_1 (HSub.hSub.{u1, u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHSub.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.tsub.{u1, 0} σ Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) instSubNat Nat.instOrderedSubNatInstLENatInstAddNatInstSubNat)) m s) p)) (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_monomial_mul' MvPolynomial.coeff_monomial_mul'ₓ'. -/
theorem coeff_monomial_mul' (m) (s : σ →₀ ℕ) (r : R) (p : MvPolynomial σ R) :
coeff m (monomial s r * p) = if s ≤ m then r * coeff (m - s) p else 0 :=
by
@@ -756,39 +1350,75 @@ theorem coeff_monomial_mul' (m) (s : σ →₀ ℕ) (r : R) (p : MvPolynomial σ
exact coeff_mul_monomial' _ _ _ _
#align mv_polynomial.coeff_monomial_mul' MvPolynomial.coeff_monomial_mul'
+/- warning: mv_polynomial.coeff_mul_X' -> MvPolynomial.coeff_mul_X' is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_3 : DecidableEq.{succ u2} σ] (m : Finsupp.{u2, 0} σ Nat Nat.hasZero) (s : σ) (p : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) p (MvPolynomial.X.{u1, u2} R σ _inst_1 s))) (ite.{succ u1} R (Membership.Mem.{u2, u2} σ (Finset.{u2} σ) (Finset.hasMem.{u2} σ) s (Finsupp.support.{u2, 0} σ Nat Nat.hasZero m)) (Finset.decidableMem.{u2} σ (fun (a : σ) (b : σ) => _inst_3 a b) s (Finsupp.support.{u2, 0} σ Nat Nat.hasZero m)) (MvPolynomial.coeff.{u1, u2} R σ _inst_1 (HSub.hSub.{u2, u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (instHSub.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.tsub.{u2, 0} σ Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) Nat.hasSub Nat.hasOrderedSub)) m (Finsupp.single.{u2, 0} σ Nat Nat.hasZero s (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) p) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_3 : DecidableEq.{succ u1} σ] (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (s : σ) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m (HMul.hMul.{max u2 u1, max u1 u2, max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) p (MvPolynomial.X.{u2, u1} R σ _inst_1 s))) (ite.{succ u2} R (Membership.mem.{u1, u1} σ (Finset.{u1} σ) (Finset.instMembershipFinset.{u1} σ) s (Finsupp.support.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) m)) (Finset.decidableMem.{u1} σ (fun (a : σ) (b : σ) => _inst_3 a b) s (Finsupp.support.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) m)) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 (HSub.hSub.{u1, u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHSub.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.tsub.{u1, 0} σ Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) instSubNat Nat.instOrderedSubNatInstLENatInstAddNatInstSubNat)) m (Finsupp.single.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) s (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) p) (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_mul_X' MvPolynomial.coeff_mul_X'ₓ'. -/
theorem coeff_mul_X' [DecidableEq σ] (m) (s : σ) (p : MvPolynomial σ R) :
- coeff m (p * x s) = if s ∈ m.support then coeff (m - single s 1) p else 0 :=
+ coeff m (p * X s) = if s ∈ m.support then coeff (m - single s 1) p else 0 :=
by
refine' (coeff_mul_monomial' _ _ _ _).trans _
simp_rw [Finsupp.single_le_iff, Finsupp.mem_support_iff, Nat.succ_le_iff, pos_iff_ne_zero,
mul_one]
#align mv_polynomial.coeff_mul_X' MvPolynomial.coeff_mul_X'
-theorem coeff_x_mul' [DecidableEq σ] (m) (s : σ) (p : MvPolynomial σ R) :
- coeff m (x s * p) = if s ∈ m.support then coeff (m - single s 1) p else 0 :=
+/- warning: mv_polynomial.coeff_X_mul' -> MvPolynomial.coeff_X_mul' is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_3 : DecidableEq.{succ u2} σ] (m : Finsupp.{u2, 0} σ Nat Nat.hasZero) (s : σ) (p : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 m (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Distrib.toHasMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) (MvPolynomial.X.{u1, u2} R σ _inst_1 s) p)) (ite.{succ u1} R (Membership.Mem.{u2, u2} σ (Finset.{u2} σ) (Finset.hasMem.{u2} σ) s (Finsupp.support.{u2, 0} σ Nat Nat.hasZero m)) (Finset.decidableMem.{u2} σ (fun (a : σ) (b : σ) => _inst_3 a b) s (Finsupp.support.{u2, 0} σ Nat Nat.hasZero m)) (MvPolynomial.coeff.{u1, u2} R σ _inst_1 (HSub.hSub.{u2, u2, u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (instHSub.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.tsub.{u2, 0} σ Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) Nat.hasSub Nat.hasOrderedSub)) m (Finsupp.single.{u2, 0} σ Nat Nat.hasZero s (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) p) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_3 : DecidableEq.{succ u1} σ] (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (s : σ) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m (HMul.hMul.{max u1 u2, max u2 u1, max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) (MvPolynomial.X.{u2, u1} R σ _inst_1 s) p)) (ite.{succ u2} R (Membership.mem.{u1, u1} σ (Finset.{u1} σ) (Finset.instMembershipFinset.{u1} σ) s (Finsupp.support.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) m)) (Finset.decidableMem.{u1} σ (fun (a : σ) (b : σ) => _inst_3 a b) s (Finsupp.support.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) m)) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 (HSub.hSub.{u1, u1, u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (instHSub.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.tsub.{u1, 0} σ Nat (CanonicallyOrderedCommSemiring.toCanonicallyOrderedAddMonoid.{0} Nat Nat.canonicallyOrderedCommSemiring) instSubNat Nat.instOrderedSubNatInstLENatInstAddNatInstSubNat)) m (Finsupp.single.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) s (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) p) (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_X_mul' MvPolynomial.coeff_X_mul'ₓ'. -/
+theorem coeff_X_mul' [DecidableEq σ] (m) (s : σ) (p : MvPolynomial σ R) :
+ coeff m (X s * p) = if s ∈ m.support then coeff (m - single s 1) p else 0 :=
by
refine' (coeff_monomial_mul' _ _ _ _).trans _
simp_rw [Finsupp.single_le_iff, Finsupp.mem_support_iff, Nat.succ_le_iff, pos_iff_ne_zero,
one_mul]
-#align mv_polynomial.coeff_X_mul' MvPolynomial.coeff_x_mul'
-
+#align mv_polynomial.coeff_X_mul' MvPolynomial.coeff_X_mul'
+
+/- warning: mv_polynomial.eq_zero_iff -> MvPolynomial.eq_zero_iff is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {p : MvPolynomial.{u2, u1} σ R _inst_1}, Iff (Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) p (OfNat.ofNat.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) 0 (OfNat.mk.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) 0 (Zero.zero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MulZeroClass.toHasZero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toMulZeroClass.{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)))))))))) (forall (d : Finsupp.{u2, 0} σ Nat Nat.hasZero), Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 d p) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {p : MvPolynomial.{u1, u2} σ R _inst_1}, Iff (Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u1, u2} σ R _inst_1) p (OfNat.ofNat.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) 0 (Zero.toOfNat0.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (CommMonoidWithZero.toZero.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toCommMonoidWithZero.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))))) (forall (d : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)), Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d p) (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.eq_zero_iff MvPolynomial.eq_zero_iffₓ'. -/
theorem eq_zero_iff {p : MvPolynomial σ R} : p = 0 ↔ ∀ d, coeff d p = 0 :=
by
rw [ext_iff]
simp only [coeff_zero]
#align mv_polynomial.eq_zero_iff MvPolynomial.eq_zero_iff
+/- warning: mv_polynomial.ne_zero_iff -> MvPolynomial.ne_zero_iff is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {p : MvPolynomial.{u2, u1} σ R _inst_1}, Iff (Ne.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) p (OfNat.ofNat.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) 0 (OfNat.mk.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) 0 (Zero.zero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MulZeroClass.toHasZero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toMulZeroClass.{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)))))))))) (Exists.{succ u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (fun (d : Finsupp.{u2, 0} σ Nat Nat.hasZero) => Ne.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 d p) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))))
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {p : MvPolynomial.{u1, u2} σ R _inst_1}, Iff (Ne.{max (succ u2) (succ u1)} (MvPolynomial.{u1, u2} σ R _inst_1) p (OfNat.ofNat.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) 0 (Zero.toOfNat0.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (CommMonoidWithZero.toZero.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toCommMonoidWithZero.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))))) (Exists.{succ u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (fun (d : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Ne.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d p) (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.ne_zero_iff MvPolynomial.ne_zero_iffₓ'. -/
theorem ne_zero_iff {p : MvPolynomial σ R} : p ≠ 0 ↔ ∃ d, coeff d p ≠ 0 :=
by
rw [Ne.def, eq_zero_iff]
push_neg
#align mv_polynomial.ne_zero_iff MvPolynomial.ne_zero_iff
+/- warning: mv_polynomial.exists_coeff_ne_zero -> MvPolynomial.exists_coeff_ne_zero is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {p : MvPolynomial.{u2, u1} σ R _inst_1}, (Ne.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) p (OfNat.ofNat.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) 0 (OfNat.mk.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) 0 (Zero.zero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MulZeroClass.toHasZero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toMulZeroClass.{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)))))))))) -> (Exists.{succ u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (fun (d : Finsupp.{u2, 0} σ Nat Nat.hasZero) => Ne.{succ u1} R (MvPolynomial.coeff.{u1, u2} R σ _inst_1 d p) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))))
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {p : MvPolynomial.{u1, u2} σ R _inst_1}, (Ne.{max (succ u2) (succ u1)} (MvPolynomial.{u1, u2} σ R _inst_1) p (OfNat.ofNat.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) 0 (Zero.toOfNat0.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (CommMonoidWithZero.toZero.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toCommMonoidWithZero.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))))) -> (Exists.{succ u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (fun (d : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => Ne.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d p) (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.exists_coeff_ne_zero MvPolynomial.exists_coeff_ne_zeroₓ'. -/
theorem exists_coeff_ne_zero {p : MvPolynomial σ R} (h : p ≠ 0) : ∃ d, coeff d p ≠ 0 :=
ne_zero_iff.mp h
#align mv_polynomial.exists_coeff_ne_zero MvPolynomial.exists_coeff_ne_zero
-theorem c_dvd_iff_dvd_coeff (r : R) (φ : MvPolynomial σ R) : c r ∣ φ ↔ ∀ i, r ∣ φ.coeff i :=
+/- warning: mv_polynomial.C_dvd_iff_dvd_coeff -> MvPolynomial.C_dvd_iff_dvd_coeff is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (r : R) (φ : MvPolynomial.{u2, u1} σ R _inst_1), Iff (Dvd.Dvd.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (semigroupDvd.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (SemigroupWithZero.toSemigroup.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalSemiring.toSemigroupWithZero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalCommSemiring.toNonUnitalSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toNonUnitalCommSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)))))) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) r) φ) (forall (i : Finsupp.{u2, 0} σ Nat Nat.hasZero), Dvd.Dvd.{u1} R (semigroupDvd.{u1} R (SemigroupWithZero.toSemigroup.{u1} R (NonUnitalSemiring.toSemigroupWithZero.{u1} R (NonUnitalCommSemiring.toNonUnitalSemiring.{u1} R (CommSemiring.toNonUnitalCommSemiring.{u1} R _inst_1))))) r (MvPolynomial.coeff.{u1, u2} R σ _inst_1 i φ))
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (r : R) (φ : MvPolynomial.{u1, u2} σ R _inst_1), Iff (Dvd.dvd.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (semigroupDvd.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (SemigroupWithZero.toSemigroup.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (NonUnitalSemiring.toSemigroupWithZero.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (NonUnitalCommSemiring.toNonUnitalSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (CommSemiring.toNonUnitalCommSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (MvPolynomial.commSemiring.{u2, u1} 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 (_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) φ) (forall (i : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)), Dvd.dvd.{u2} R (semigroupDvd.{u2} R (SemigroupWithZero.toSemigroup.{u2} R (NonUnitalSemiring.toSemigroupWithZero.{u2} R (NonUnitalCommSemiring.toNonUnitalSemiring.{u2} R (CommSemiring.toNonUnitalCommSemiring.{u2} R _inst_1))))) r (MvPolynomial.coeff.{u2, u1} R σ _inst_1 i φ))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.C_dvd_iff_dvd_coeff MvPolynomial.C_dvd_iff_dvd_coeffₓ'. -/
+theorem C_dvd_iff_dvd_coeff (r : R) (φ : MvPolynomial σ R) : C r ∣ φ ↔ ∀ i, r ∣ φ.coeff i :=
by
constructor
· rintro ⟨φ, rfl⟩ c
@@ -807,12 +1437,13 @@ theorem c_dvd_iff_dvd_coeff (r : R) (φ : MvPolynomial σ R) : c r ∣ φ ↔
· rw [hc]
· rw [not_mem_support_iff] at hi
rwa [MulZeroClass.mul_zero]
-#align mv_polynomial.C_dvd_iff_dvd_coeff MvPolynomial.c_dvd_iff_dvd_coeff
+#align mv_polynomial.C_dvd_iff_dvd_coeff MvPolynomial.C_dvd_iff_dvd_coeff
end Coeff
section ConstantCoeff
+#print MvPolynomial.constantCoeff /-
/-- `constant_coeff p` returns the constant term of the polynomial `p`, defined as `coeff 0 p`.
This is a ring homomorphism.
-/
@@ -824,35 +1455,66 @@ def constantCoeff : MvPolynomial σ R →+* R
map_zero' := coeff_zero _
map_add' := coeff_add _
#align mv_polynomial.constant_coeff MvPolynomial.constantCoeff
+-/
+/- warning: mv_polynomial.constant_coeff_eq -> MvPolynomial.constantCoeff_eq is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R], Eq.{max (succ u2) (succ u1)} ((fun (_x : RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u2, u1} σ R _inst_1) -> R) (MvPolynomial.constantCoeff.{u1, u2} R σ _inst_1)) (coeFn.{max (succ (max u2 u1)) (succ u1), max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u2, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.constantCoeff.{u1, u2} R σ _inst_1)) (MvPolynomial.coeff.{u1, u2} R σ _inst_1 (OfNat.ofNat.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (OfNat.mk.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (Zero.zero.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.zero.{u2, 0} σ Nat Nat.hasZero)))))
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} (forall (a : MvPolynomial.{u1, u2} σ R _inst_1), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) a) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (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) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1)) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 (OfNat.ofNat.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) 0 (Zero.toOfNat0.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.zero.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)))))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.constant_coeff_eq MvPolynomial.constantCoeff_eqₓ'. -/
theorem constantCoeff_eq : (constantCoeff : MvPolynomial σ R → R) = coeff 0 :=
rfl
#align mv_polynomial.constant_coeff_eq MvPolynomial.constantCoeff_eq
variable (σ)
+/- warning: mv_polynomial.constant_coeff_C -> MvPolynomial.constantCoeff_C is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} (σ : Type.{u2}) [_inst_1 : CommSemiring.{u1} R] (r : R), Eq.{succ u1} R (coeFn.{max (succ (max u2 u1)) (succ u1), max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u2, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.constantCoeff.{u1, u2} R σ _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) r)) r
+but is expected to have type
+ forall {R : Type.{u2}} (σ : Type.{u1}) [_inst_1 : CommSemiring.{u2} R] (r : R), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) (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 (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (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) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} 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 (_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)) r
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.constant_coeff_C MvPolynomial.constantCoeff_Cₓ'. -/
@[simp]
-theorem constantCoeff_c (r : R) : constantCoeff (c r : MvPolynomial σ R) = r := by
+theorem constantCoeff_C (r : R) : constantCoeff (C r : MvPolynomial σ R) = r := by
simp [constant_coeff_eq]
-#align mv_polynomial.constant_coeff_C MvPolynomial.constantCoeff_c
+#align mv_polynomial.constant_coeff_C MvPolynomial.constantCoeff_C
variable {σ}
variable (R)
+/- warning: mv_polynomial.constant_coeff_X -> MvPolynomial.constantCoeff_X is a dubious translation:
+lean 3 declaration is
+ forall (R : Type.{u1}) {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (i : σ), Eq.{succ u1} R (coeFn.{max (succ (max u2 u1)) (succ u1), max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u2, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.constantCoeff.{u1, u2} R σ _inst_1) (MvPolynomial.X.{u1, u2} R σ _inst_1 i)) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))
+but is expected to have type
+ forall (R : Type.{u2}) {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (i : σ), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) (MvPolynomial.X.{u2, u1} R σ _inst_1 i)) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (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) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) (MvPolynomial.X.{u2, u1} R σ _inst_1 i)) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) (MvPolynomial.X.{u2, u1} R σ _inst_1 i)) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) (MvPolynomial.X.{u2, u1} R σ _inst_1 i)) (CommMonoidWithZero.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) (MvPolynomial.X.{u2, u1} R σ _inst_1 i)) (CommSemiring.toCommMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) (MvPolynomial.X.{u2, u1} R σ _inst_1 i)) _inst_1))))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.constant_coeff_X MvPolynomial.constantCoeff_Xₓ'. -/
@[simp]
-theorem constantCoeff_x (i : σ) : constantCoeff (x i : MvPolynomial σ R) = 0 := by
+theorem constantCoeff_X (i : σ) : constantCoeff (X i : MvPolynomial σ R) = 0 := by
simp [constant_coeff_eq]
-#align mv_polynomial.constant_coeff_X MvPolynomial.constantCoeff_x
+#align mv_polynomial.constant_coeff_X MvPolynomial.constantCoeff_X
variable {R}
+/- warning: mv_polynomial.constant_coeff_smul -> MvPolynomial.constantCoeff_smul is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : DistribMulAction.{u1, u2} R S₁ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddMonoidWithOne.toAddMonoid.{u2} S₁ (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} S₁ (NonAssocSemiring.toAddCommMonoidWithOne.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))))] (a : R) (f : MvPolynomial.{u3, u2} σ S₁ _inst_2), Eq.{succ u2} S₁ (coeFn.{max (succ (max u3 u2)) (succ u2), max (succ (max u3 u2)) (succ u2)} (RingHom.{max u3 u2, u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{max u3 u2, u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => (MvPolynomial.{u3, u2} σ S₁ _inst_2) -> S₁) (RingHom.hasCoeToFun.{max u3 u2, u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (MvPolynomial.constantCoeff.{u2, u3} S₁ σ _inst_2) (SMul.smul.{u1, max u3 u2} R (MvPolynomial.{u3, u2} σ S₁ _inst_2) (SMulZeroClass.toHasSmul.{u1, max u3 u2} R (MvPolynomial.{u3, u2} σ S₁ _inst_2) (AddZeroClass.toHasZero.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (AddMonoid.toAddZeroClass.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (AddMonoidWithOne.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (AddCommMonoidWithOne.toAddMonoidWithOne.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonAssocSemiring.toAddCommMonoidWithOne.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))))))) (DistribSMul.toSmulZeroClass.{u1, max u3 u2} R (MvPolynomial.{u3, u2} σ S₁ _inst_2) (AddMonoid.toAddZeroClass.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (AddMonoidWithOne.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (AddCommMonoidWithOne.toAddMonoidWithOne.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonAssocSemiring.toAddCommMonoidWithOne.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))))))) (DistribMulAction.toDistribSMul.{u1, max u3 u2} R (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddMonoidWithOne.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (AddCommMonoidWithOne.toAddMonoidWithOne.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonAssocSemiring.toAddCommMonoidWithOne.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))))) (MvPolynomial.distribMulAction.{u1, u2, u3} R S₁ σ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) _inst_2 _inst_3)))) a f)) (SMul.smul.{u1, u2} R S₁ (SMulZeroClass.toHasSmul.{u1, u2} R S₁ (AddZeroClass.toHasZero.{u2} S₁ (AddMonoid.toAddZeroClass.{u2} S₁ (AddMonoidWithOne.toAddMonoid.{u2} S₁ (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} S₁ (NonAssocSemiring.toAddCommMonoidWithOne.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))))))) (DistribSMul.toSmulZeroClass.{u1, u2} R S₁ (AddMonoid.toAddZeroClass.{u2} S₁ (AddMonoidWithOne.toAddMonoid.{u2} S₁ (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} S₁ (NonAssocSemiring.toAddCommMonoidWithOne.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))))) (DistribMulAction.toDistribSMul.{u1, u2} R S₁ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddMonoidWithOne.toAddMonoid.{u2} S₁ (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} S₁ (NonAssocSemiring.toAddCommMonoidWithOne.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))))) _inst_3))) a (coeFn.{max (succ (max u3 u2)) (succ u2), max (succ (max u3 u2)) (succ u2)} (RingHom.{max u3 u2, u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{max u3 u2, u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => (MvPolynomial.{u3, u2} σ S₁ _inst_2) -> S₁) (RingHom.hasCoeToFun.{max u3 u2, u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (MvPolynomial.constantCoeff.{u2, u3} S₁ σ _inst_2) f))
+but is expected to have type
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : DistribMulAction.{u2, u3} R S₁ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddMonoidWithOne.toAddMonoid.{u3} S₁ (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} S₁ (NonAssocSemiring.toAddCommMonoidWithOne.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))] (a : R) (f : MvPolynomial.{u1, u3} σ S₁ _inst_2), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) (HSMul.hSMul.{u2, max u3 u1, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (instHSMul.{u2, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (SMulZeroClass.toSMul.{u2, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (CommMonoidWithZero.toZero.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (CommSemiring.toCommMonoidWithZero.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u3, u1} S₁ σ _inst_2))) (DistribSMul.toSMulZeroClass.{u2, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (AddMonoid.toAddZeroClass.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (AddMonoidWithOne.toAddMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (AddCommMonoidWithOne.toAddMonoidWithOne.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toAddCommMonoidWithOne.{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))))))) (DistribMulAction.toDistribSMul.{u2, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddMonoidWithOne.toAddMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (AddCommMonoidWithOne.toAddMonoidWithOne.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toAddCommMonoidWithOne.{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)))))) (MvPolynomial.distribuMulAction.{u2, u3, u1} R S₁ σ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) _inst_2 _inst_3))))) a f)) (FunLike.coe.{max (succ u1) (succ u3), max (succ u1) (succ u3), succ u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (fun (_x : MvPolynomial.{u1, u3} σ S₁ _inst_2) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) _x) (MulHomClass.toFunLike.{max u1 u3, max u1 u3, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (NonUnitalNonAssocSemiring.toMul.{max u1 u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (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))))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u3, max u1 u3, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (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)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u3, max u1 u3, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{max u1 u3, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (MvPolynomial.constantCoeff.{u3, u1} S₁ σ _inst_2) (HSMul.hSMul.{u2, max u3 u1, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (instHSMul.{u2, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (SMulZeroClass.toSMul.{u2, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (CommMonoidWithZero.toZero.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (CommSemiring.toCommMonoidWithZero.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u3, u1} S₁ σ _inst_2))) (DistribSMul.toSMulZeroClass.{u2, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (AddMonoid.toAddZeroClass.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (AddMonoidWithOne.toAddMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (AddCommMonoidWithOne.toAddMonoidWithOne.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toAddCommMonoidWithOne.{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))))))) (DistribMulAction.toDistribSMul.{u2, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddMonoidWithOne.toAddMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (AddCommMonoidWithOne.toAddMonoidWithOne.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toAddCommMonoidWithOne.{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)))))) (MvPolynomial.distribuMulAction.{u2, u3, u1} R S₁ σ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) _inst_2 _inst_3))))) a f)) (HSMul.hSMul.{u2, u3, u3} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) f) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) f) (instHSMul.{u2, u3} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) f) (SMulZeroClass.toSMul.{u2, u3} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) f) (CommMonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) f) (CommSemiring.toCommMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) f) _inst_2)) (DistribSMul.toSMulZeroClass.{u2, u3} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) f) (AddMonoid.toAddZeroClass.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) f) (AddMonoidWithOne.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) f) (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) f) (NonAssocSemiring.toAddCommMonoidWithOne.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) f) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) f) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) f) _inst_2)))))) (DistribMulAction.toDistribSMul.{u2, u3} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) f) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddMonoidWithOne.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) f) (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) f) (NonAssocSemiring.toAddCommMonoidWithOne.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) f) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) f) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) f) _inst_2))))) _inst_3)))) a (FunLike.coe.{max (succ u1) (succ u3), max (succ u1) (succ u3), succ u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (fun (_x : MvPolynomial.{u1, u3} σ S₁ _inst_2) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) _x) (MulHomClass.toFunLike.{max u1 u3, max u1 u3, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (NonUnitalNonAssocSemiring.toMul.{max u1 u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (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))))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u3, max u1 u3, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (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)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u3, max u1 u3, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{max u1 u3, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (MvPolynomial.constantCoeff.{u3, u1} S₁ σ _inst_2) f))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.constant_coeff_smul MvPolynomial.constantCoeff_smulₓ'. -/
@[simp]
theorem constantCoeff_smul [DistribMulAction R S₁] (a : R) (f : MvPolynomial σ S₁) :
constantCoeff (a • f) = a • constantCoeff f :=
rfl
#align mv_polynomial.constant_coeff_smul MvPolynomial.constantCoeff_smul
+/- warning: mv_polynomial.constant_coeff_monomial -> MvPolynomial.constantCoeff_monomial is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_3 : DecidableEq.{succ u2} σ] (d : Finsupp.{u2, 0} σ Nat Nat.hasZero) (r : R), Eq.{succ u1} R (coeFn.{max (succ (max u2 u1)) (succ u1), max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u2, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.constantCoeff.{u1, u2} R σ _inst_1) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 d) r)) (ite.{succ u1} R (Eq.{succ u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) d (OfNat.ofNat.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (OfNat.mk.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (Zero.zero.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.zero.{u2, 0} σ Nat Nat.hasZero))))) (Finsupp.decidableEq.{u2, 0} σ Nat Nat.hasZero (fun (a : σ) (b : σ) => _inst_3 a b) (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) d (OfNat.ofNat.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (OfNat.mk.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) 0 (Zero.zero.{u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (Finsupp.zero.{u2, 0} σ Nat Nat.hasZero))))) r (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_3 : DecidableEq.{succ u1} σ] (d : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (r : R), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 d) r)) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (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) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 d) r)) (ite.{succ u2} R (Eq.{succ u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) d (OfNat.ofNat.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) 0 (Zero.toOfNat0.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.zero.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))))) (Finsupp.decidableEq.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (fun (a : σ) (b : σ) => _inst_3 a b) (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) d (OfNat.ofNat.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) 0 (Zero.toOfNat0.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (Finsupp.zero.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))))) r (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.constant_coeff_monomial MvPolynomial.constantCoeff_monomialₓ'. -/
theorem constantCoeff_monomial [DecidableEq σ] (d : σ →₀ ℕ) (r : R) :
constantCoeff (monomial d r) = if d = 0 then r else 0 := by
rw [constant_coeff_eq, coeff_monomial]
@@ -860,29 +1522,53 @@ theorem constantCoeff_monomial [DecidableEq σ] (d : σ →₀ ℕ) (r : R) :
variable (σ R)
+/- warning: mv_polynomial.constant_coeff_comp_C -> MvPolynomial.constantCoeff_comp_C is a dubious translation:
+lean 3 declaration is
+ forall (R : Type.{u1}) (σ : Type.{u2}) [_inst_1 : CommSemiring.{u1} R], Eq.{succ u1} (RingHom.{u1, u1} R R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.comp.{u1, max u2 u1, u1} R (MvPolynomial.{u2, u1} σ R _inst_1) R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MvPolynomial.constantCoeff.{u1, u2} R σ _inst_1) (MvPolynomial.C.{u1, u2} R σ _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))
+but is expected to have type
+ forall (R : Type.{u2}) (σ : Type.{u1}) [_inst_1 : CommSemiring.{u2} R], Eq.{succ u2} (RingHom.{u2, u2} R R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.comp.{u2, max u1 u2, u2} R (MvPolynomial.{u1, u2} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) (MvPolynomial.C.{u2, u1} R σ _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.constant_coeff_comp_C MvPolynomial.constantCoeff_comp_Cₓ'. -/
@[simp]
-theorem constantCoeff_comp_c : constantCoeff.comp (c : R →+* MvPolynomial σ R) = RingHom.id R :=
+theorem constantCoeff_comp_C : constantCoeff.comp (C : R →+* MvPolynomial σ R) = RingHom.id R :=
by
ext x
exact constant_coeff_C σ x
-#align mv_polynomial.constant_coeff_comp_C MvPolynomial.constantCoeff_comp_c
+#align mv_polynomial.constant_coeff_comp_C MvPolynomial.constantCoeff_comp_C
+/- warning: mv_polynomial.constant_coeff_comp_algebra_map -> MvPolynomial.constantCoeff_comp_algebraMap is a dubious translation:
+lean 3 declaration is
+ forall (R : Type.{u1}) (σ : Type.{u2}) [_inst_1 : CommSemiring.{u1} R], Eq.{succ u1} (RingHom.{u1, u1} R R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.comp.{u1, max u2 u1, u1} R (MvPolynomial.{u2, u1} σ R _inst_1) R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MvPolynomial.constantCoeff.{u1, u2} R σ _inst_1) (algebraMap.{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)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))
+but is expected to have type
+ forall (R : Type.{u2}) (σ : Type.{u1}) [_inst_1 : CommSemiring.{u2} R], Eq.{succ u2} (RingHom.{u2, u2} R R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.comp.{u2, max u1 u2, u2} R (MvPolynomial.{u1, u2} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) (algebraMap.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.constant_coeff_comp_algebra_map MvPolynomial.constantCoeff_comp_algebraMapₓ'. -/
@[simp]
theorem constantCoeff_comp_algebraMap :
constantCoeff.comp (algebraMap R (MvPolynomial σ R)) = RingHom.id R :=
- constantCoeff_comp_c _ _
+ constantCoeff_comp_C _ _
#align mv_polynomial.constant_coeff_comp_algebra_map MvPolynomial.constantCoeff_comp_algebraMap
end ConstantCoeff
section AsSum
+/- warning: mv_polynomial.support_sum_monomial_coeff -> MvPolynomial.support_sum_monomial_coeff is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (p : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{succ (max u2 u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (Finset.sum.{max u2 u1, u2} (MvPolynomial.{u2, u1} σ R _inst_1) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (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))))) (MvPolynomial.support.{u1, u2} R σ _inst_1 p) (fun (v : Finsupp.{u2, 0} σ Nat Nat.hasZero) => coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 v) (MvPolynomial.coeff.{u1, u2} R σ _inst_1 v p))) p
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u1, u2} σ R _inst_1) (Finset.sum.{max u2 u1, u1} (MvPolynomial.{u1, u2} σ R _inst_1) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (MvPolynomial.support.{u2, u1} R σ _inst_1 p) (fun (v : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 v) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 v p))) p
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.support_sum_monomial_coeff MvPolynomial.support_sum_monomial_coeffₓ'. -/
@[simp]
theorem support_sum_monomial_coeff (p : MvPolynomial σ R) :
(∑ v in p.support, monomial v (coeff v p)) = p :=
Finsupp.sum_single p
#align mv_polynomial.support_sum_monomial_coeff MvPolynomial.support_sum_monomial_coeff
+/- warning: mv_polynomial.as_sum -> MvPolynomial.as_sum is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (p : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) p (Finset.sum.{max u2 u1, u2} (MvPolynomial.{u2, u1} σ R _inst_1) (Finsupp.{u2, 0} σ Nat Nat.hasZero) (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))))) (MvPolynomial.support.{u1, u2} R σ _inst_1 p) (fun (v : Finsupp.{u2, 0} σ Nat Nat.hasZero) => coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 v) (MvPolynomial.coeff.{u1, u2} R σ _inst_1 v p)))
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u1, u2} σ R _inst_1) p (Finset.sum.{max u2 u1, u1} (MvPolynomial.{u1, u2} σ R _inst_1) (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (MvPolynomial.support.{u2, u1} R σ _inst_1 p) (fun (v : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 v) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 v p)))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.as_sum MvPolynomial.as_sumₓ'. -/
theorem as_sum (p : MvPolynomial σ R) : p = ∑ v in p.support, monomial v (coeff v p) :=
(support_sum_monomial_coeff p).symm
#align mv_polynomial.as_sum MvPolynomial.as_sum
@@ -893,17 +1579,31 @@ section Eval₂
variable (f : R →+* S₁) (g : σ → S₁)
+#print MvPolynomial.eval₂ /-
/-- Evaluate a polynomial `p` given a valuation `g` of all the variables
and a ring hom `f` from the scalar ring to the target -/
def eval₂ (p : MvPolynomial σ R) : S₁ :=
p.Sum fun s a => f a * s.Prod fun n e => g n ^ e
#align mv_polynomial.eval₂ MvPolynomial.eval₂
+-/
+/- warning: mv_polynomial.eval₂_eq -> MvPolynomial.eval₂_eq is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (g : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (x : σ -> S₁) (f : MvPolynomial.{u3, u1} σ R _inst_1), Eq.{succ u2} S₁ (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 g x f) (Finset.sum.{u2, u3} S₁ (Finsupp.{u3, 0} σ Nat Nat.hasZero) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))) (MvPolynomial.support.{u1, u3} R σ _inst_1 f) (fun (d : Finsupp.{u3, 0} σ Nat Nat.hasZero) => HMul.hMul.{u2, u2, u2} S₁ S₁ S₁ (instHMul.{u2} S₁ (Distrib.toHasMul.{u2} S₁ (NonUnitalNonAssocSemiring.toDistrib.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) g (MvPolynomial.coeff.{u1, u3} R σ _inst_1 d f)) (Finset.prod.{u2, u3} S₁ σ (CommSemiring.toCommMonoid.{u2} S₁ _inst_2) (Finsupp.support.{u3, 0} σ Nat Nat.hasZero d) (fun (i : σ) => HPow.hPow.{u2, 0, u2} S₁ Nat S₁ (instHPow.{u2, 0} S₁ Nat (Monoid.Pow.{u2} S₁ (MonoidWithZero.toMonoid.{u2} S₁ (Semiring.toMonoidWithZero.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))))) (x i) (coeFn.{succ u3, succ u3} (Finsupp.{u3, 0} σ Nat Nat.hasZero) (fun (_x : Finsupp.{u3, 0} σ Nat Nat.hasZero) => σ -> Nat) (Finsupp.coeFun.{u3, 0} σ Nat Nat.hasZero) d i)))))
+but is expected to have type
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (g : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (x : σ -> S₁) (f : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} S₁ (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 g x f) (Finset.sum.{u3, u1} S₁ (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (MvPolynomial.support.{u2, u1} R σ _inst_1 f) (fun (d : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => HMul.hMul.{u3, u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f)) S₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f)) (instHMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f)) (NonUnitalNonAssocSemiring.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f)) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f)) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f)) _inst_2))))) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) g (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f)) (Finset.prod.{u3, u1} S₁ σ (CommSemiring.toCommMonoid.{u3} S₁ _inst_2) (Finsupp.support.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) d) (fun (i : σ) => HPow.hPow.{u3, 0, u3} S₁ ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : σ) => Nat) i) S₁ (instHPow.{u3, 0} S₁ ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : σ) => Nat) i) (Monoid.Pow.{u3} S₁ (MonoidWithZero.toMonoid.{u3} S₁ (Semiring.toMonoidWithZero.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))))) (x i) (FunLike.coe.{succ u1, succ u1, 1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) σ (fun (_x : σ) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : σ) => Nat) _x) (Finsupp.funLike.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) d i)))))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_eq MvPolynomial.eval₂_eqₓ'. -/
theorem eval₂_eq (g : R →+* S₁) (x : σ → S₁) (f : MvPolynomial σ R) :
f.eval₂ g x = ∑ d in f.support, g (f.coeff d) * ∏ i in d.support, x i ^ d i :=
rfl
#align mv_polynomial.eval₂_eq MvPolynomial.eval₂_eq
+/- warning: mv_polynomial.eval₂_eq' -> MvPolynomial.eval₂_eq' is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : Fintype.{u3} σ] (g : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (x : σ -> S₁) (f : MvPolynomial.{u3, u1} σ R _inst_1), Eq.{succ u2} S₁ (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 g x f) (Finset.sum.{u2, u3} S₁ (Finsupp.{u3, 0} σ Nat Nat.hasZero) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))) (MvPolynomial.support.{u1, u3} R σ _inst_1 f) (fun (d : Finsupp.{u3, 0} σ Nat Nat.hasZero) => HMul.hMul.{u2, u2, u2} S₁ S₁ S₁ (instHMul.{u2} S₁ (Distrib.toHasMul.{u2} S₁ (NonUnitalNonAssocSemiring.toDistrib.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) g (MvPolynomial.coeff.{u1, u3} R σ _inst_1 d f)) (Finset.prod.{u2, u3} S₁ σ (CommSemiring.toCommMonoid.{u2} S₁ _inst_2) (Finset.univ.{u3} σ _inst_3) (fun (i : σ) => HPow.hPow.{u2, 0, u2} S₁ Nat S₁ (instHPow.{u2, 0} S₁ Nat (Monoid.Pow.{u2} S₁ (MonoidWithZero.toMonoid.{u2} S₁ (Semiring.toMonoidWithZero.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))))) (x i) (coeFn.{succ u3, succ u3} (Finsupp.{u3, 0} σ Nat Nat.hasZero) (fun (_x : Finsupp.{u3, 0} σ Nat Nat.hasZero) => σ -> Nat) (Finsupp.coeFun.{u3, 0} σ Nat Nat.hasZero) d i)))))
+but is expected to have type
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : Fintype.{u1} σ] (g : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (x : σ -> S₁) (f : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} S₁ (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 g x f) (Finset.sum.{u3, u1} S₁ (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (MvPolynomial.support.{u2, u1} R σ _inst_1 f) (fun (d : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => HMul.hMul.{u3, u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f)) S₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f)) (instHMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f)) (NonUnitalNonAssocSemiring.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f)) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f)) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f)) _inst_2))))) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) g (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f)) (Finset.prod.{u3, u1} S₁ σ (CommSemiring.toCommMonoid.{u3} S₁ _inst_2) (Finset.univ.{u1} σ _inst_3) (fun (i : σ) => HPow.hPow.{u3, 0, u3} S₁ ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : σ) => Nat) i) S₁ (instHPow.{u3, 0} S₁ ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : σ) => Nat) i) (Monoid.Pow.{u3} S₁ (MonoidWithZero.toMonoid.{u3} S₁ (Semiring.toMonoidWithZero.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))))) (x i) (FunLike.coe.{succ u1, succ u1, 1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) σ (fun (_x : σ) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : σ) => Nat) _x) (Finsupp.funLike.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) d i)))))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_eq' MvPolynomial.eval₂_eq'ₓ'. -/
theorem eval₂_eq' [Fintype σ] (g : R →+* S₁) (x : σ → S₁) (f : MvPolynomial σ R) :
f.eval₂ g x = ∑ d in f.support, g (f.coeff d) * ∏ i, x i ^ d i :=
by
@@ -911,6 +1611,12 @@ theorem eval₂_eq' [Fintype σ] (g : R →+* S₁) (x : σ → S₁) (f : MvPol
rfl
#align mv_polynomial.eval₂_eq' MvPolynomial.eval₂_eq'
+/- warning: mv_polynomial.eval₂_zero -> MvPolynomial.eval₂_zero is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : σ -> S₁), Eq.{succ u2} S₁ (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g (OfNat.ofNat.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) 0 (OfNat.mk.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) 0 (Zero.zero.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MulZeroClass.toHasZero.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toMulZeroClass.{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)))))))))) (OfNat.ofNat.{u2} S₁ 0 (OfNat.mk.{u2} S₁ 0 (Zero.zero.{u2} S₁ (MulZeroClass.toHasZero.{u2} S₁ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))))))))
+but is expected to have type
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁), Eq.{succ u3} S₁ (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g (OfNat.ofNat.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) 0 (Zero.toOfNat0.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (CommMonoidWithZero.toZero.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toCommMonoidWithZero.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))))) (OfNat.ofNat.{u3} S₁ 0 (Zero.toOfNat0.{u3} S₁ (CommMonoidWithZero.toZero.{u3} S₁ (CommSemiring.toCommMonoidWithZero.{u3} S₁ _inst_2))))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_zero MvPolynomial.eval₂_zeroₓ'. -/
@[simp]
theorem eval₂_zero : (0 : MvPolynomial σ R).eval₂ f g = 0 :=
Finsupp.sum_zero_index
@@ -918,31 +1624,67 @@ theorem eval₂_zero : (0 : MvPolynomial σ R).eval₂ f g = 0 :=
section
+/- warning: mv_polynomial.eval₂_add -> MvPolynomial.eval₂_add is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] {p : MvPolynomial.{u3, u1} σ R _inst_1} {q : MvPolynomial.{u3, u1} σ R _inst_1} (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : σ -> S₁), Eq.{succ u2} S₁ (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g (HAdd.hAdd.{max u3 u1, max u3 u1, max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u1} σ R _inst_1) (instHAdd.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (Distrib.toHasAdd.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) p q)) (HAdd.hAdd.{u2, u2, u2} S₁ S₁ S₁ (instHAdd.{u2} S₁ (Distrib.toHasAdd.{u2} S₁ (NonUnitalNonAssocSemiring.toDistrib.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))))) (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g p) (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g q))
+but is expected to have type
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] {p : MvPolynomial.{u1, u2} σ R _inst_1} {q : MvPolynomial.{u1, u2} σ R _inst_1} (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁), Eq.{succ u3} S₁ (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHAdd.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (Distrib.toAdd.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))))) p q)) (HAdd.hAdd.{u3, u3, u3} S₁ S₁ S₁ (instHAdd.{u3} S₁ (Distrib.toAdd.{u3} S₁ (NonUnitalNonAssocSemiring.toDistrib.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g p) (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g q))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_add MvPolynomial.eval₂_addₓ'. -/
@[simp]
theorem eval₂_add : (p + q).eval₂ f g = p.eval₂ f g + q.eval₂ f g :=
Finsupp.sum_add_index (by simp [f.map_zero]) (by simp [add_mul, f.map_add])
#align mv_polynomial.eval₂_add MvPolynomial.eval₂_add
+/- warning: mv_polynomial.eval₂_monomial -> MvPolynomial.eval₂_monomial is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} {a : R} {s : Finsupp.{u3, 0} σ Nat Nat.hasZero} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : σ -> S₁), Eq.{succ u2} S₁ (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g (coeFn.{max (succ u1) (succ (max u3 u1)), max (succ u1) (succ (max u3 u1))} (LinearMap.{u1, u1, u1, max u3 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u3 u1} 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 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))))) (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 -> (MvPolynomial.{u3, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) a)) (HMul.hMul.{u2, u2, u2} S₁ S₁ S₁ (instHMul.{u2} S₁ (Distrib.toHasMul.{u2} S₁ (NonUnitalNonAssocSemiring.toDistrib.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) f a) (Finsupp.prod.{u3, 0, u2} σ Nat S₁ Nat.hasZero (CommSemiring.toCommMonoid.{u2} S₁ _inst_2) s (fun (n : σ) (e : Nat) => HPow.hPow.{u2, 0, u2} S₁ Nat S₁ (instHPow.{u2, 0} S₁ Nat (Monoid.Pow.{u2} S₁ (MonoidWithZero.toMonoid.{u2} S₁ (Semiring.toMonoidWithZero.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))))) (g n) e)))
+but is expected to have type
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} {a : R} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁), Eq.{succ u3} S₁ (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a)) (HMul.hMul.{u3, u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) S₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (instHMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (NonUnitalNonAssocSemiring.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2))))) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f a) (Finsupp.prod.{u1, 0, u3} σ Nat S₁ (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (CommSemiring.toCommMonoid.{u3} S₁ _inst_2) s (fun (n : σ) (e : Nat) => HPow.hPow.{u3, 0, u3} S₁ Nat S₁ (instHPow.{u3, 0} S₁ Nat (Monoid.Pow.{u3} S₁ (MonoidWithZero.toMonoid.{u3} S₁ (Semiring.toMonoidWithZero.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))))) (g n) e)))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_monomial MvPolynomial.eval₂_monomialₓ'. -/
@[simp]
theorem eval₂_monomial : (monomial s a).eval₂ f g = f a * s.Prod fun n e => g n ^ e :=
Finsupp.sum_single_index (by simp [f.map_zero])
#align mv_polynomial.eval₂_monomial MvPolynomial.eval₂_monomial
+/- warning: mv_polynomial.eval₂_C -> MvPolynomial.eval₂_C is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : σ -> S₁) (a : R), Eq.{succ u2} S₁ (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g (coeFn.{max (succ u1) (succ (max u3 u1)), max (succ u1) (succ (max u3 u1))} (RingHom.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u3, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u3} R σ _inst_1) a)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) f a)
+but is expected to have type
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁) (a : R), Eq.{succ u3} S₁ (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g (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) a)) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f a)
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_C MvPolynomial.eval₂_Cₓ'. -/
@[simp]
-theorem eval₂_c (a) : (c a).eval₂ f g = f a := by
+theorem eval₂_C (a) : (C a).eval₂ f g = f a := by
rw [C_apply, eval₂_monomial, prod_zero_index, mul_one]
-#align mv_polynomial.eval₂_C MvPolynomial.eval₂_c
+#align mv_polynomial.eval₂_C MvPolynomial.eval₂_C
+/- warning: mv_polynomial.eval₂_one -> MvPolynomial.eval₂_one is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : σ -> S₁), Eq.{succ u2} S₁ (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g (OfNat.ofNat.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) 1 (OfNat.mk.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) 1 (One.one.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (AddMonoidWithOne.toOne.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (AddCommMonoidWithOne.toAddMonoidWithOne.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (NonAssocSemiring.toAddCommMonoidWithOne.{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)))))))))) (OfNat.ofNat.{u2} S₁ 1 (OfNat.mk.{u2} S₁ 1 (One.one.{u2} S₁ (AddMonoidWithOne.toOne.{u2} S₁ (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} S₁ (NonAssocSemiring.toAddCommMonoidWithOne.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))))))))
+but is expected to have type
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁), Eq.{succ u3} S₁ (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g (OfNat.ofNat.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) 1 (One.toOfNat1.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toOne.{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)))))) (OfNat.ofNat.{u3} S₁ 1 (One.toOfNat1.{u3} S₁ (Semiring.toOne.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_one MvPolynomial.eval₂_oneₓ'. -/
@[simp]
theorem eval₂_one : (1 : MvPolynomial σ R).eval₂ f g = 1 :=
- (eval₂_c _ _ _).trans f.map_one
+ (eval₂_C _ _ _).trans f.map_one
#align mv_polynomial.eval₂_one MvPolynomial.eval₂_one
+/- warning: mv_polynomial.eval₂_X -> MvPolynomial.eval₂_X is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : σ -> S₁) (n : σ), Eq.{succ u2} S₁ (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g (MvPolynomial.X.{u1, u3} R σ _inst_1 n)) (g n)
+but is expected to have type
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁) (n : σ), Eq.{succ u3} S₁ (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g (MvPolynomial.X.{u2, u1} R σ _inst_1 n)) (g n)
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_X MvPolynomial.eval₂_Xₓ'. -/
@[simp]
-theorem eval₂_x (n) : (x n).eval₂ f g = g n := by
+theorem eval₂_X (n) : (X n).eval₂ f g = g n := by
simp [eval₂_monomial, f.map_one, X, prod_single_index, pow_one]
-#align mv_polynomial.eval₂_X MvPolynomial.eval₂_x
-
+#align mv_polynomial.eval₂_X MvPolynomial.eval₂_X
+
+/- warning: mv_polynomial.eval₂_mul_monomial -> MvPolynomial.eval₂_mul_monomial is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] {p : MvPolynomial.{u3, u1} σ R _inst_1} (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : σ -> S₁) {s : Finsupp.{u3, 0} σ Nat Nat.hasZero} {a : R}, Eq.{succ u2} S₁ (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g (HMul.hMul.{max u3 u1, max u3 u1, max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u1} σ R _inst_1) (instHMul.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (Distrib.toHasMul.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) p (coeFn.{max (succ u1) (succ (max u3 u1)), max (succ u1) (succ (max u3 u1))} (LinearMap.{u1, u1, u1, max u3 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u3 u1} 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 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))))) (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 -> (MvPolynomial.{u3, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) a))) (HMul.hMul.{u2, u2, u2} S₁ S₁ S₁ (instHMul.{u2} S₁ (Distrib.toHasMul.{u2} S₁ (NonUnitalNonAssocSemiring.toDistrib.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))))) (HMul.hMul.{u2, u2, u2} S₁ S₁ S₁ (instHMul.{u2} S₁ (Distrib.toHasMul.{u2} S₁ (NonUnitalNonAssocSemiring.toDistrib.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))))) (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g p) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) f a)) (Finsupp.prod.{u3, 0, u2} σ Nat S₁ Nat.hasZero (CommSemiring.toCommMonoid.{u2} S₁ _inst_2) s (fun (n : σ) (e : Nat) => HPow.hPow.{u2, 0, u2} S₁ Nat S₁ (instHPow.{u2, 0} S₁ Nat (Monoid.Pow.{u2} S₁ (MonoidWithZero.toMonoid.{u2} S₁ (Semiring.toMonoidWithZero.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))))) (g n) e)))
+but is expected to have type
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] {p : MvPolynomial.{u1, u2} σ R _inst_1} (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁) {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} {a : R}, Eq.{succ u3} S₁ (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) p (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a))) (HMul.hMul.{u3, u3, u3} S₁ S₁ S₁ (instHMul.{u3} S₁ (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))))) (HMul.hMul.{u3, u3, u3} S₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) S₁ (instHMul.{u3} S₁ (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))))) (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g p) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f a)) (Finsupp.prod.{u1, 0, u3} σ Nat S₁ (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (CommSemiring.toCommMonoid.{u3} S₁ _inst_2) s (fun (n : σ) (e : Nat) => HPow.hPow.{u3, 0, u3} S₁ Nat S₁ (instHPow.{u3, 0} S₁ Nat (Monoid.Pow.{u3} S₁ (MonoidWithZero.toMonoid.{u3} S₁ (Semiring.toMonoidWithZero.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))))) (g n) e)))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_mul_monomial MvPolynomial.eval₂_mul_monomialₓ'. -/
theorem eval₂_mul_monomial :
∀ {s a}, (p * monomial s a).eval₂ f g = p.eval₂ f g * f a * s.Prod fun n e => g n ^ e :=
by
@@ -962,10 +1704,22 @@ theorem eval₂_mul_monomial :
#align mv_polynomial.eval₂_mul_monomial MvPolynomial.eval₂_mul_monomial
-theorem eval₂_mul_c : (p * c a).eval₂ f g = p.eval₂ f g * f a :=
+/- warning: mv_polynomial.eval₂_mul_C -> MvPolynomial.eval₂_mul_C is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} {a : R} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] {p : MvPolynomial.{u3, u1} σ R _inst_1} (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : σ -> S₁), Eq.{succ u2} S₁ (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g (HMul.hMul.{max u3 u1, max u3 u1, max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u1} σ R _inst_1) (instHMul.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (Distrib.toHasMul.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) p (coeFn.{max (succ u1) (succ (max u3 u1)), max (succ u1) (succ (max u3 u1))} (RingHom.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u3, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u3} R σ _inst_1) a))) (HMul.hMul.{u2, u2, u2} S₁ S₁ S₁ (instHMul.{u2} S₁ (Distrib.toHasMul.{u2} S₁ (NonUnitalNonAssocSemiring.toDistrib.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))))) (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g p) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) f a))
+but is expected to have type
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} {a : R} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] {p : MvPolynomial.{u1, u2} σ R _inst_1} (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁), Eq.{succ u3} S₁ (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) p (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) a))) (HMul.hMul.{u3, u3, u3} S₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) S₁ (instHMul.{u3} S₁ (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))))) (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g p) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f a))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_mul_C MvPolynomial.eval₂_mul_Cₓ'. -/
+theorem eval₂_mul_C : (p * C a).eval₂ f g = p.eval₂ f g * f a :=
(eval₂_mul_monomial _ _).trans <| by simp
-#align mv_polynomial.eval₂_mul_C MvPolynomial.eval₂_mul_c
+#align mv_polynomial.eval₂_mul_C MvPolynomial.eval₂_mul_C
+/- warning: mv_polynomial.eval₂_mul -> MvPolynomial.eval₂_mul is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] {q : MvPolynomial.{u3, u1} σ R _inst_1} (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : σ -> S₁) {p : MvPolynomial.{u3, u1} σ R _inst_1}, Eq.{succ u2} S₁ (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g (HMul.hMul.{max u3 u1, max u3 u1, max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u1} σ R _inst_1) (instHMul.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (Distrib.toHasMul.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toDistrib.{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))))))) p q)) (HMul.hMul.{u2, u2, u2} S₁ S₁ S₁ (instHMul.{u2} S₁ (Distrib.toHasMul.{u2} S₁ (NonUnitalNonAssocSemiring.toDistrib.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))))) (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g p) (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g q))
+but is expected to have type
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] {q : MvPolynomial.{u1, u2} σ R _inst_1} (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁) {p : MvPolynomial.{u1, u2} σ R _inst_1}, Eq.{succ u3} S₁ (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) p q)) (HMul.hMul.{u3, u3, u3} S₁ S₁ S₁ (instHMul.{u3} S₁ (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))))) (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g p) (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g q))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_mul MvPolynomial.eval₂_mulₓ'. -/
@[simp]
theorem eval₂_mul : ∀ {p}, (p * q).eval₂ f g = p.eval₂ f g * q.eval₂ f g :=
by
@@ -975,6 +1729,12 @@ theorem eval₂_mul : ∀ {p}, (p * q).eval₂ f g = p.eval₂ f g * q.eval₂ f
· simp (config := { contextual := true }) [X, eval₂_monomial, eval₂_mul_monomial, ← mul_assoc]
#align mv_polynomial.eval₂_mul MvPolynomial.eval₂_mul
+/- warning: mv_polynomial.eval₂_pow -> MvPolynomial.eval₂_pow is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : σ -> S₁) {p : MvPolynomial.{u3, u1} σ R _inst_1} {n : Nat}, Eq.{succ u2} S₁ (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g (HPow.hPow.{max u3 u1, 0, max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) Nat (MvPolynomial.{u3, u1} σ R _inst_1) (instHPow.{max u3 u1, 0} (MvPolynomial.{u3, u1} σ R _inst_1) Nat (Monoid.Pow.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MonoidWithZero.toMonoid.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) p n)) (HPow.hPow.{u2, 0, u2} S₁ Nat S₁ (instHPow.{u2, 0} S₁ Nat (Monoid.Pow.{u2} S₁ (MonoidWithZero.toMonoid.{u2} S₁ (Semiring.toMonoidWithZero.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))))) (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g p) n)
+but is expected to have type
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁) {p : MvPolynomial.{u1, u2} σ R _inst_1} {n : Nat}, Eq.{succ u3} S₁ (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g (HPow.hPow.{max u2 u1, 0, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (MvPolynomial.{u1, u2} σ R _inst_1) (instHPow.{max u2 u1, 0} (MvPolynomial.{u1, u2} σ R _inst_1) Nat (Monoid.Pow.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toMonoidWithZero.{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)))))) p n)) (HPow.hPow.{u3, 0, u3} S₁ Nat S₁ (instHPow.{u3, 0} S₁ Nat (Monoid.Pow.{u3} S₁ (MonoidWithZero.toMonoid.{u3} S₁ (Semiring.toMonoidWithZero.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))))) (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g p) n)
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_pow MvPolynomial.eval₂_powₓ'. -/
@[simp]
theorem eval₂_pow {p : MvPolynomial σ R} : ∀ {n : ℕ}, (p ^ n).eval₂ f g = p.eval₂ f g ^ n
| 0 => by
@@ -983,6 +1743,7 @@ theorem eval₂_pow {p : MvPolynomial σ R} : ∀ {n : ℕ}, (p ^ n).eval₂ f g
| n + 1 => by rw [pow_add, pow_one, pow_add, pow_one, eval₂_mul, eval₂_pow]
#align mv_polynomial.eval₂_pow MvPolynomial.eval₂_pow
+#print MvPolynomial.eval₂Hom /-
/-- `mv_polynomial.eval₂` as a `ring_hom`. -/
def eval₂Hom (f : R →+* S₁) (g : σ → S₁) : MvPolynomial σ R →+* S₁
where
@@ -992,12 +1753,25 @@ def eval₂Hom (f : R →+* S₁) (g : σ → S₁) : MvPolynomial σ R →+* S
map_zero' := eval₂_zero _ _
map_add' p q := eval₂_add _ _
#align mv_polynomial.eval₂_hom MvPolynomial.eval₂Hom
+-/
+/- warning: mv_polynomial.coe_eval₂_hom -> MvPolynomial.coe_eval₂Hom is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : σ -> S₁), Eq.{max (succ (max u3 u1)) (succ u2)} ((MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (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))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (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))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) (RingHom.hasCoeToFun.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (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))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (MvPolynomial.eval₂Hom.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g)) (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g)
+but is expected to have type
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁), Eq.{max (max (succ u2) (succ u3)) (succ u1)} (forall (ᾰ : MvPolynomial.{u1, u2} σ R _inst_1), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) ᾰ) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} 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 u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} 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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g)) (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g)
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.coe_eval₂_hom MvPolynomial.coe_eval₂Homₓ'. -/
@[simp]
theorem coe_eval₂Hom (f : R →+* S₁) (g : σ → S₁) : ⇑(eval₂Hom f g) = eval₂ f g :=
rfl
#align mv_polynomial.coe_eval₂_hom MvPolynomial.coe_eval₂Hom
+/- warning: mv_polynomial.eval₂_hom_congr -> MvPolynomial.eval₂Hom_congr is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] {f₁ : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))} {f₂ : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))} {g₁ : σ -> S₁} {g₂ : σ -> S₁} {p₁ : MvPolynomial.{u3, u1} σ R _inst_1} {p₂ : MvPolynomial.{u3, u1} σ R _inst_1}, (Eq.{max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) f₁ f₂) -> (Eq.{max (succ u3) (succ u2)} (σ -> S₁) g₁ g₂) -> (Eq.{max (succ u3) (succ u1)} (MvPolynomial.{u3, u1} σ R _inst_1) p₁ p₂) -> (Eq.{succ u2} S₁ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (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))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (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))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) (RingHom.hasCoeToFun.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (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))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (MvPolynomial.eval₂Hom.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f₁ g₁) p₁) (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (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))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (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))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) (RingHom.hasCoeToFun.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (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))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (MvPolynomial.eval₂Hom.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f₂ g₂) p₂))
+but is expected to have type
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] {f₁ : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))} {f₂ : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))} {g₁ : σ -> S₁} {g₂ : σ -> S₁} {p₁ : MvPolynomial.{u1, u2} σ R _inst_1} {p₂ : MvPolynomial.{u1, u2} σ R _inst_1}, (Eq.{max (succ u2) (succ u3)} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) f₁ f₂) -> (Eq.{max (succ u3) (succ u1)} (σ -> S₁) g₁ g₂) -> (Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u1, u2} σ R _inst_1) p₁ p₂) -> (Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) p₁) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} 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 u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} 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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f₁ g₁) p₁) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} 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 u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} 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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f₂ g₂) p₂))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_hom_congr MvPolynomial.eval₂Hom_congrₓ'. -/
theorem eval₂Hom_congr {f₁ f₂ : R →+* S₁} {g₁ g₂ : σ → S₁} {p₁ p₂ : MvPolynomial σ R} :
f₁ = f₂ → g₁ = g₂ → p₁ = p₂ → eval₂Hom f₁ g₁ p₁ = eval₂Hom f₂ g₂ p₂ := by
rintro rfl rfl rfl <;> rfl
@@ -1005,16 +1779,34 @@ theorem eval₂Hom_congr {f₁ f₂ : R →+* S₁} {g₁ g₂ : σ → S₁} {p
end
-@[simp]
-theorem eval₂Hom_c (f : R →+* S₁) (g : σ → S₁) (r : R) : eval₂Hom f g (c r) = f r :=
- eval₂_c f g r
-#align mv_polynomial.eval₂_hom_C MvPolynomial.eval₂Hom_c
-
-@[simp]
-theorem eval₂Hom_X' (f : R →+* S₁) (g : σ → S₁) (i : σ) : eval₂Hom f g (x i) = g i :=
- eval₂_x f g i
+/- warning: mv_polynomial.eval₂_hom_C -> MvPolynomial.eval₂Hom_C is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : σ -> S₁) (r : R), Eq.{succ u2} S₁ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (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))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (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))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) (RingHom.hasCoeToFun.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (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))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (MvPolynomial.eval₂Hom.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g) (coeFn.{max (succ u1) (succ (max u3 u1)), max (succ u1) (succ (max u3 u1))} (RingHom.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u3, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u3} R σ _inst_1) r)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) f r)
+but is expected to have type
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁) (r : R), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) (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 u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} 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 u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} 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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g) (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 u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f r)
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_hom_C MvPolynomial.eval₂Hom_Cₓ'. -/
+@[simp]
+theorem eval₂Hom_C (f : R →+* S₁) (g : σ → S₁) (r : R) : eval₂Hom f g (C r) = f r :=
+ eval₂_C f g r
+#align mv_polynomial.eval₂_hom_C MvPolynomial.eval₂Hom_C
+
+/- warning: mv_polynomial.eval₂_hom_X' -> MvPolynomial.eval₂Hom_X' is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : σ -> S₁) (i : σ), Eq.{succ u2} S₁ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (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))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (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))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) (RingHom.hasCoeToFun.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (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))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (MvPolynomial.eval₂Hom.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g) (MvPolynomial.X.{u1, u3} R σ _inst_1 i)) (g i)
+but is expected to have type
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁) (i : σ), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) (MvPolynomial.X.{u2, u1} R σ _inst_1 i)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} 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 u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} 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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g) (MvPolynomial.X.{u2, u1} R σ _inst_1 i)) (g i)
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_hom_X' MvPolynomial.eval₂Hom_X'ₓ'. -/
+@[simp]
+theorem eval₂Hom_X' (f : R →+* S₁) (g : σ → S₁) (i : σ) : eval₂Hom f g (X i) = g i :=
+ eval₂_X f g i
#align mv_polynomial.eval₂_hom_X' MvPolynomial.eval₂Hom_X'
+/- warning: mv_polynomial.comp_eval₂_hom -> MvPolynomial.comp_eval₂Hom is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {S₁ : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u4}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : CommSemiring.{u3} S₂] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : σ -> S₁) (φ : RingHom.{u2, u3} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))), Eq.{max (succ (max u4 u1)) (succ u3)} (RingHom.{max u4 u1, u3} (MvPolynomial.{u4, u1} σ R _inst_1) S₂ (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))) (RingHom.comp.{max u4 u1, u2, u3} (MvPolynomial.{u4, u1} σ R _inst_1) S₁ S₂ (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3)) φ (MvPolynomial.eval₂Hom.{u1, u2, u4} R S₁ σ _inst_1 _inst_2 f g)) (MvPolynomial.eval₂Hom.{u1, u3, u4} R S₂ σ _inst_1 _inst_3 (RingHom.comp.{u1, u2, u3} R S₁ S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3)) φ f) (fun (i : σ) => coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (RingHom.{u2, u3} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))) (fun (_x : RingHom.{u2, u3} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))) => S₁ -> S₂) (RingHom.hasCoeToFun.{u2, u3} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))) φ (g i)))
+but is expected to have type
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {S₂ : Type.{u4}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : CommSemiring.{u4} S₂] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁) (φ : RingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))), Eq.{max (max (succ u2) (succ u4)) (succ u1)} (RingHom.{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_3))) (RingHom.comp.{max u1 u2, u3, u4} (MvPolynomial.{u1, u2} σ R _inst_1) S₁ 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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)) φ (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g)) (MvPolynomial.eval₂Hom.{u2, u4, u1} R S₂ σ _inst_1 _inst_3 (RingHom.comp.{u2, u3, u4} R S₁ S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)) φ f) (fun (i : σ) => FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (RingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) S₁ (fun (_x : S₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S₁) => S₂) _x) (MulHomClass.toFunLike.{max u3 u4, u3, u4} (RingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) S₁ S₂ (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{u4} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₂ (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u4, u3, u4} (RingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) S₁ S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₂ (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u4, u3, u4} (RingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)) (RingHom.instRingHomClassRingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)))))) φ (g i)))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.comp_eval₂_hom MvPolynomial.comp_eval₂Homₓ'. -/
@[simp]
theorem comp_eval₂Hom [CommSemiring S₂] (f : R →+* S₁) (g : σ → S₁) (φ : S₁ →+* S₂) :
φ.comp (eval₂Hom f g) = eval₂Hom (φ.comp f) fun i => φ (g i) :=
@@ -1026,6 +1818,12 @@ theorem comp_eval₂Hom [CommSemiring S₂] (f : R →+* S₁) (g : σ → S₁)
rw [RingHom.comp_apply, eval₂_hom_X', eval₂_hom_X']
#align mv_polynomial.comp_eval₂_hom MvPolynomial.comp_eval₂Hom
+/- warning: mv_polynomial.map_eval₂_hom -> MvPolynomial.map_eval₂Hom is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {S₁ : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u4}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : CommSemiring.{u3} S₂] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : σ -> S₁) (φ : RingHom.{u2, u3} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))) (p : MvPolynomial.{u4, u1} σ R _inst_1), Eq.{succ u3} S₂ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (RingHom.{u2, u3} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))) (fun (_x : RingHom.{u2, u3} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))) => S₁ -> S₂) (RingHom.hasCoeToFun.{u2, u3} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))) φ (coeFn.{max (succ (max u4 u1)) (succ u2), max (succ (max u4 u1)) (succ u2)} (RingHom.{max u4 u1, u2} (MvPolynomial.{u4, u1} σ R _inst_1) S₁ (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{max u4 u1, u2} (MvPolynomial.{u4, u1} σ R _inst_1) S₁ (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => (MvPolynomial.{u4, u1} σ R _inst_1) -> S₁) (RingHom.hasCoeToFun.{max u4 u1, u2} (MvPolynomial.{u4, u1} σ R _inst_1) S₁ (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (MvPolynomial.eval₂Hom.{u1, u2, u4} R S₁ σ _inst_1 _inst_2 f g) p)) (coeFn.{max (succ (max u4 u1)) (succ u3), max (succ (max u4 u1)) (succ u3)} (RingHom.{max u4 u1, u3} (MvPolynomial.{u4, u1} σ R _inst_1) S₂ (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))) (fun (_x : RingHom.{max u4 u1, u3} (MvPolynomial.{u4, u1} σ R _inst_1) S₂ (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))) => (MvPolynomial.{u4, u1} σ R _inst_1) -> S₂) (RingHom.hasCoeToFun.{max u4 u1, u3} (MvPolynomial.{u4, u1} σ R _inst_1) S₂ (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))) (MvPolynomial.eval₂Hom.{u1, u3, u4} R S₂ σ _inst_1 _inst_3 (RingHom.comp.{u1, u2, u3} R S₁ S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3)) φ f) (fun (i : σ) => coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (RingHom.{u2, u3} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))) (fun (_x : RingHom.{u2, u3} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))) => S₁ -> S₂) (RingHom.hasCoeToFun.{u2, u3} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))) φ (g i))) p)
+but is expected to have type
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {S₂ : Type.{u4}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : CommSemiring.{u4} S₂] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁) (φ : RingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S₁) => S₂) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (a : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} 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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g) p)) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (RingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) S₁ (fun (_x : S₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S₁) => S₂) _x) (MulHomClass.toFunLike.{max u3 u4, u3, u4} (RingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) S₁ S₂ (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{u4} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₂ (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u4, u3, u4} (RingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) S₁ S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₂ (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u4, u3, u4} (RingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)) (RingHom.instRingHomClassRingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)))))) φ (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} 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 u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} 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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g) p)) (FunLike.coe.{max (max (succ u2) (succ u4)) (succ u1), max (succ u2) (succ u1), 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_3))) (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 u2 u4) u1, max u2 u1, 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_3))) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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_3)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u4) u1, max u2 u1, 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_3))) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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_3))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u4) u1, max u2 u1, 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_3))) (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_3)) (RingHom.instRingHomClassRingHom.{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_3)))))) (MvPolynomial.eval₂Hom.{u2, u4, u1} R S₂ σ _inst_1 _inst_3 (RingHom.comp.{u2, u3, u4} R S₁ S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)) φ f) (fun (i : σ) => FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (RingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) S₁ (fun (_x : S₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S₁) => S₂) _x) (MulHomClass.toFunLike.{max u3 u4, u3, u4} (RingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) S₁ S₂ (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{u4} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₂ (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u4, u3, u4} (RingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) S₁ S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₂ (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u4, u3, u4} (RingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)) (RingHom.instRingHomClassRingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)))))) φ (g i))) p)
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.map_eval₂_hom MvPolynomial.map_eval₂Homₓ'. -/
theorem map_eval₂Hom [CommSemiring S₂] (f : R →+* S₁) (g : σ → S₁) (φ : S₁ →+* S₂)
(p : MvPolynomial σ R) : φ (eval₂Hom f g p) = eval₂Hom (φ.comp f) (fun i => φ (g i)) p :=
by
@@ -1033,6 +1831,12 @@ theorem map_eval₂Hom [CommSemiring S₂] (f : R →+* S₁) (g : σ → S₁)
rfl
#align mv_polynomial.map_eval₂_hom MvPolynomial.map_eval₂Hom
+/- warning: mv_polynomial.eval₂_hom_monomial -> MvPolynomial.eval₂Hom_monomial is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : σ -> S₁) (d : Finsupp.{u3, 0} σ Nat Nat.hasZero) (r : R), Eq.{succ u2} S₁ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (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))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (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))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) (RingHom.hasCoeToFun.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (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))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (MvPolynomial.eval₂Hom.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g) (coeFn.{max (succ u1) (succ (max u3 u1)), max (succ u1) (succ (max u3 u1))} (LinearMap.{u1, u1, u1, max u3 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u3 u1} 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 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))))) (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 -> (MvPolynomial.{u3, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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)) (HMul.hMul.{u2, u2, u2} S₁ S₁ S₁ (instHMul.{u2} S₁ (Distrib.toHasMul.{u2} S₁ (NonUnitalNonAssocSemiring.toDistrib.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) f r) (Finsupp.prod.{u3, 0, u2} σ Nat S₁ Nat.hasZero (CommSemiring.toCommMonoid.{u2} S₁ _inst_2) d (fun (i : σ) (k : Nat) => HPow.hPow.{u2, 0, u2} S₁ Nat S₁ (instHPow.{u2, 0} S₁ Nat (Monoid.Pow.{u2} S₁ (MonoidWithZero.toMonoid.{u2} S₁ (Semiring.toMonoidWithZero.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))))) (g i) k)))
+but is expected to have type
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁) (d : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (r : R), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 d) r)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} 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 u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} 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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 d) r)) (HMul.hMul.{u3, u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) S₁ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (instHMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (NonUnitalNonAssocSemiring.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2))))) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f r) (Finsupp.prod.{u1, 0, u3} σ Nat S₁ (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (CommSemiring.toCommMonoid.{u3} S₁ _inst_2) d (fun (i : σ) (k : Nat) => HPow.hPow.{u3, 0, u3} S₁ Nat S₁ (instHPow.{u3, 0} S₁ Nat (Monoid.Pow.{u3} S₁ (MonoidWithZero.toMonoid.{u3} S₁ (Semiring.toMonoidWithZero.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))))) (g i) k)))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_hom_monomial MvPolynomial.eval₂Hom_monomialₓ'. -/
theorem eval₂Hom_monomial (f : R →+* S₁) (g : σ → S₁) (d : σ →₀ ℕ) (r : R) :
eval₂Hom f g (monomial d r) = f r * d.Prod fun i k => g i ^ k := by
simp only [monomial_eq, RingHom.map_mul, eval₂_hom_C, Finsupp.prod, RingHom.map_prod,
@@ -1041,6 +1845,12 @@ theorem eval₂Hom_monomial (f : R →+* S₁) (g : σ → S₁) (d : σ →₀
section
+/- warning: mv_polynomial.eval₂_comp_left -> MvPolynomial.eval₂_comp_left is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] {S₂ : Type.{u4}} [_inst_3 : CommSemiring.{u4} S₂] (k : RingHom.{u2, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : σ -> S₁) (p : MvPolynomial.{u3, u1} σ R _inst_1), Eq.{succ u4} S₂ (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (RingHom.{u2, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) (fun (_x : RingHom.{u2, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) => S₁ -> S₂) (RingHom.hasCoeToFun.{u2, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) k (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g p)) (MvPolynomial.eval₂.{u1, u4, u3} R S₂ σ _inst_1 _inst_3 (RingHom.comp.{u1, u2, u4} R S₁ S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)) k f) (Function.comp.{succ u3, succ u2, succ u4} σ S₁ S₂ (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (RingHom.{u2, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) (fun (_x : RingHom.{u2, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) => S₁ -> S₂) (RingHom.hasCoeToFun.{u2, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) k) g) p)
+but is expected to have type
+ forall {R : Type.{u3}} {S₁ : Type.{u4}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] [_inst_2 : CommSemiring.{u4} S₁] {S₂ : Type.{u2}} [_inst_3 : CommSemiring.{u2} S₂] (k : RingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) (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 : σ -> S₁) (p : MvPolynomial.{u1, u3} σ R _inst_1), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S₁) => S₂) (MvPolynomial.eval₂.{u3, u4, u1} R S₁ σ _inst_1 _inst_2 f g p)) (FunLike.coe.{max (succ u4) (succ u2), succ u4, succ u2} (RingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) S₁ (fun (_x : S₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S₁) => S₂) _x) (MulHomClass.toFunLike.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) S₁ S₂ (NonUnitalNonAssocSemiring.toMul.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{u2} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) S₁ S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3)) (RingHom.instRingHomClassRingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3)))))) k (MvPolynomial.eval₂.{u3, u4, u1} R S₁ σ _inst_1 _inst_2 f g p)) (MvPolynomial.eval₂.{u3, u2, u1} R S₂ σ _inst_1 _inst_3 (RingHom.comp.{u3, u4, u2} R S₁ S₂ (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3)) k f) (Function.comp.{succ u1, succ u4, succ u2} σ S₁ S₂ (FunLike.coe.{max (succ u4) (succ u2), succ u4, succ u2} (RingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) S₁ (fun (_x : S₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S₁) => S₂) _x) (MulHomClass.toFunLike.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) S₁ S₂ (NonUnitalNonAssocSemiring.toMul.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{u2} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) S₁ S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3)) (RingHom.instRingHomClassRingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3)))))) k) g) p)
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_comp_left MvPolynomial.eval₂_comp_leftₓ'. -/
theorem eval₂_comp_left {S₂} [CommSemiring S₂] (k : S₁ →+* S₂) (f : R →+* S₁) (g : σ → S₁) (p) :
k (eval₂ f g p) = eval₂ (k.comp f) (k ∘ g) p := by
apply MvPolynomial.induction_on p <;>
@@ -1049,12 +1859,24 @@ theorem eval₂_comp_left {S₂} [CommSemiring S₂] (k : S₁ →+* S₂) (f :
end
+/- warning: mv_polynomial.eval₂_eta -> MvPolynomial.eval₂_eta is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (p : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{succ (max u2 u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.eval₂.{u1, max u2 u1, u2} R (MvPolynomial.{u2, u1} σ R _inst_1) σ _inst_1 (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1) (MvPolynomial.C.{u1, u2} R σ _inst_1) (MvPolynomial.X.{u1, u2} R σ _inst_1) p) p
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u1, u2} σ R _inst_1) (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) (MvPolynomial.X.{u2, u1} R σ _inst_1) p) p
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_eta MvPolynomial.eval₂_etaₓ'. -/
@[simp]
-theorem eval₂_eta (p : MvPolynomial σ R) : eval₂ c x p = p := by
+theorem eval₂_eta (p : MvPolynomial σ R) : eval₂ C X p = p := by
apply MvPolynomial.induction_on p <;>
simp (config := { contextual := true }) [eval₂_add, eval₂_mul]
#align mv_polynomial.eval₂_eta MvPolynomial.eval₂_eta
+/- warning: mv_polynomial.eval₂_congr -> MvPolynomial.eval₂_congr is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] {p : MvPolynomial.{u3, u1} σ R _inst_1} (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g₁ : σ -> S₁) (g₂ : σ -> S₁), (forall {i : σ} {c : Finsupp.{u3, 0} σ Nat Nat.hasZero}, (Membership.Mem.{u3, u3} σ (Finset.{u3} σ) (Finset.hasMem.{u3} σ) i (Finsupp.support.{u3, 0} σ Nat Nat.hasZero c)) -> (Ne.{succ u1} R (MvPolynomial.coeff.{u1, u3} R σ _inst_1 c p) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) -> (Eq.{succ u2} S₁ (g₁ i) (g₂ i))) -> (Eq.{succ u2} S₁ (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g₁ p) (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g₂ p))
+but is expected to have type
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] {p : MvPolynomial.{u1, u2} σ R _inst_1} (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g₁ : σ -> S₁) (g₂ : σ -> S₁), (forall {i : σ} {c : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)}, (Membership.mem.{u1, u1} σ (Finset.{u1} σ) (Finset.instMembershipFinset.{u1} σ) i (Finsupp.support.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) c)) -> (Ne.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 c p) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) -> (Eq.{succ u3} S₁ (g₁ i) (g₂ i))) -> (Eq.{succ u3} S₁ (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g₁ p) (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g₂ p))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_congr MvPolynomial.eval₂_congrₓ'. -/
theorem eval₂_congr (g₁ g₂ : σ → S₁)
(h : ∀ {i : σ} {c : σ →₀ ℕ}, i ∈ c.support → coeff c p ≠ 0 → g₁ i = g₂ i) :
p.eval₂ f g₁ = p.eval₂ f g₂ := by
@@ -1066,12 +1888,24 @@ theorem eval₂_congr (g₁ g₂ : σ → S₁)
rwa [Finsupp.mem_support_iff] at hc
#align mv_polynomial.eval₂_congr MvPolynomial.eval₂_congr
+/- warning: mv_polynomial.eval₂_prod -> MvPolynomial.eval₂_prod is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {S₁ : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u4}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : σ -> S₁) (s : Finset.{u3} S₂) (p : S₂ -> (MvPolynomial.{u4, u1} σ R _inst_1)), Eq.{succ u2} S₁ (MvPolynomial.eval₂.{u1, u2, u4} R S₁ σ _inst_1 _inst_2 f g (Finset.prod.{max u4 u1, u3} (MvPolynomial.{u4, u1} σ R _inst_1) S₂ (CommSemiring.toCommMonoid.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1)) s (fun (x : S₂) => p x))) (Finset.prod.{u2, u3} S₁ S₂ (CommSemiring.toCommMonoid.{u2} S₁ _inst_2) s (fun (x : S₂) => MvPolynomial.eval₂.{u1, u2, u4} R S₁ σ _inst_1 _inst_2 f g (p x)))
+but is expected to have type
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {S₂ : Type.{u4}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁) (s : Finset.{u4} S₂) (p : S₂ -> (MvPolynomial.{u1, u2} σ R _inst_1)), Eq.{succ u3} S₁ (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g (Finset.prod.{max u2 u1, u4} (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (CommSemiring.toCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) s (fun (x : S₂) => p x))) (Finset.prod.{u3, u4} S₁ S₂ (CommSemiring.toCommMonoid.{u3} S₁ _inst_2) s (fun (x : S₂) => MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g (p x)))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_prod MvPolynomial.eval₂_prodₓ'. -/
@[simp]
theorem eval₂_prod (s : Finset S₂) (p : S₂ → MvPolynomial σ R) :
eval₂ f g (∏ x in s, p x) = ∏ x in s, eval₂ f g (p x) :=
(eval₂Hom f g).map_prod _ s
#align mv_polynomial.eval₂_prod MvPolynomial.eval₂_prod
+/- warning: mv_polynomial.eval₂_sum -> MvPolynomial.eval₂_sum is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {S₁ : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u4}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : σ -> S₁) (s : Finset.{u3} S₂) (p : S₂ -> (MvPolynomial.{u4, u1} σ R _inst_1)), Eq.{succ u2} S₁ (MvPolynomial.eval₂.{u1, u2, u4} R S₁ σ _inst_1 _inst_2 f g (Finset.sum.{max u4 u1, u3} (MvPolynomial.{u4, u1} σ R _inst_1) S₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1))))) s (fun (x : S₂) => p x))) (Finset.sum.{u2, u3} S₁ S₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))) s (fun (x : S₂) => MvPolynomial.eval₂.{u1, u2, u4} R S₁ σ _inst_1 _inst_2 f g (p x)))
+but is expected to have type
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {S₂ : Type.{u4}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁) (s : Finset.{u4} S₂) (p : S₂ -> (MvPolynomial.{u1, u2} σ R _inst_1)), Eq.{succ u3} S₁ (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g (Finset.sum.{max u2 u1, u4} (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) s (fun (x : S₂) => p x))) (Finset.sum.{u3, u4} S₁ S₂ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) s (fun (x : S₂) => MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g (p x)))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_sum MvPolynomial.eval₂_sumₓ'. -/
@[simp]
theorem eval₂_sum (s : Finset S₂) (p : S₂ → MvPolynomial σ R) :
eval₂ f g (∑ x in s, p x) = ∑ x in s, eval₂ f g (p x) :=
@@ -1080,8 +1914,14 @@ theorem eval₂_sum (s : Finset S₂) (p : S₂ → MvPolynomial σ R) :
attribute [to_additive] eval₂_prod
+/- warning: mv_polynomial.eval₂_assoc -> MvPolynomial.eval₂_assoc is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {S₁ : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u4}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : σ -> S₁) (q : S₂ -> (MvPolynomial.{u4, u1} σ R _inst_1)) (p : MvPolynomial.{u3, u1} S₂ R _inst_1), Eq.{succ u2} S₁ (MvPolynomial.eval₂.{u1, u2, u3} R S₁ S₂ _inst_1 _inst_2 f (fun (t : S₂) => MvPolynomial.eval₂.{u1, u2, u4} R S₁ σ _inst_1 _inst_2 f g (q t)) p) (MvPolynomial.eval₂.{u1, u2, u4} R S₁ σ _inst_1 _inst_2 f g (MvPolynomial.eval₂.{u1, max u4 u1, u3} R (MvPolynomial.{u4, u1} σ R _inst_1) S₂ _inst_1 (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1) (MvPolynomial.C.{u1, u4} R σ _inst_1) q p))
+but is expected to have type
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {S₂ : Type.{u4}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁) (q : S₂ -> (MvPolynomial.{u1, u2} σ R _inst_1)) (p : MvPolynomial.{u4, u2} S₂ R _inst_1), Eq.{succ u3} S₁ (MvPolynomial.eval₂.{u2, u3, u4} R S₁ S₂ _inst_1 _inst_2 f (fun (t : S₂) => MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g (q t)) p) (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g (MvPolynomial.eval₂.{u2, max u2 u1, u4} R (MvPolynomial.{u1, u2} σ R _inst_1) S₂ _inst_1 (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1) (MvPolynomial.C.{u2, u1} R σ _inst_1) q p))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_assoc MvPolynomial.eval₂_assocₓ'. -/
theorem eval₂_assoc (q : S₂ → MvPolynomial σ R) (p : MvPolynomial S₂ R) :
- eval₂ f (fun t => eval₂ f g (q t)) p = eval₂ f g (eval₂ c q p) :=
+ eval₂ f (fun t => eval₂ f g (q t)) p = eval₂ f g (eval₂ C q p) :=
by
show _ = eval₂_hom f g (eval₂ C q p)
rw [eval₂_comp_left (eval₂_hom f g)]; congr with a; simp
@@ -1093,45 +1933,95 @@ section Eval
variable {f : σ → R}
+#print MvPolynomial.eval /-
/-- Evaluate a polynomial `p` given a valuation `f` of all the variables -/
def eval (f : σ → R) : MvPolynomial σ R →+* R :=
eval₂Hom (RingHom.id _) f
#align mv_polynomial.eval MvPolynomial.eval
+-/
+/- warning: mv_polynomial.eval_eq -> MvPolynomial.eval_eq is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (x : σ -> R) (f : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{succ u1} R (coeFn.{max (succ (max u2 u1)) (succ u1), max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u2, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.eval.{u1, u2} R σ _inst_1 x) f) (Finset.sum.{u1, u2} R (Finsupp.{u2, 0} σ Nat Nat.hasZero) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MvPolynomial.support.{u1, u2} R σ _inst_1 f) (fun (d : Finsupp.{u2, 0} σ Nat Nat.hasZero) => HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (MvPolynomial.coeff.{u1, u2} R σ _inst_1 d f) (Finset.prod.{u1, u2} R σ (CommSemiring.toCommMonoid.{u1} R _inst_1) (Finsupp.support.{u2, 0} σ Nat Nat.hasZero d) (fun (i : σ) => HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (x i) (coeFn.{succ u2, succ u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (fun (_x : Finsupp.{u2, 0} σ Nat Nat.hasZero) => σ -> Nat) (Finsupp.coeFun.{u2, 0} σ Nat Nat.hasZero) d i)))))
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (x : σ -> R) (f : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) f) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (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) => R) _x) (MulHomClass.toFunLike.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.eval.{u2, u1} R σ _inst_1 x) f) (Finset.sum.{u2, u1} R (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.support.{u2, u1} R σ _inst_1 f) (fun (d : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f) (Finset.prod.{u2, u1} R σ (CommSemiring.toCommMonoid.{u2} R _inst_1) (Finsupp.support.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) d) (fun (i : σ) => HPow.hPow.{u2, 0, u2} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : σ) => Nat) i) R (instHPow.{u2, 0} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : σ) => Nat) i) (Monoid.Pow.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (x i) (FunLike.coe.{succ u1, succ u1, 1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) σ (fun (_x : σ) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : σ) => Nat) _x) (Finsupp.funLike.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) d i)))))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval_eq MvPolynomial.eval_eqₓ'. -/
theorem eval_eq (x : σ → R) (f : MvPolynomial σ R) :
eval x f = ∑ d in f.support, f.coeff d * ∏ i in d.support, x i ^ d i :=
rfl
#align mv_polynomial.eval_eq MvPolynomial.eval_eq
+/- warning: mv_polynomial.eval_eq' -> MvPolynomial.eval_eq' is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_3 : Fintype.{u2} σ] (x : σ -> R) (f : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{succ u1} R (coeFn.{max (succ (max u2 u1)) (succ u1), max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u2, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.eval.{u1, u2} R σ _inst_1 x) f) (Finset.sum.{u1, u2} R (Finsupp.{u2, 0} σ Nat Nat.hasZero) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MvPolynomial.support.{u1, u2} R σ _inst_1 f) (fun (d : Finsupp.{u2, 0} σ Nat Nat.hasZero) => HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (MvPolynomial.coeff.{u1, u2} R σ _inst_1 d f) (Finset.prod.{u1, u2} R σ (CommSemiring.toCommMonoid.{u1} R _inst_1) (Finset.univ.{u2} σ _inst_3) (fun (i : σ) => HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (x i) (coeFn.{succ u2, succ u2} (Finsupp.{u2, 0} σ Nat Nat.hasZero) (fun (_x : Finsupp.{u2, 0} σ Nat Nat.hasZero) => σ -> Nat) (Finsupp.coeFun.{u2, 0} σ Nat Nat.hasZero) d i)))))
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_3 : Fintype.{u1} σ] (x : σ -> R) (f : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) f) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (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) => R) _x) (MulHomClass.toFunLike.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.eval.{u2, u1} R σ _inst_1 x) f) (Finset.sum.{u2, u1} R (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.support.{u2, u1} R σ _inst_1 f) (fun (d : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d f) (Finset.prod.{u2, u1} R σ (CommSemiring.toCommMonoid.{u2} R _inst_1) (Finset.univ.{u1} σ _inst_3) (fun (i : σ) => HPow.hPow.{u2, 0, u2} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : σ) => Nat) i) R (instHPow.{u2, 0} R ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : σ) => Nat) i) (Monoid.Pow.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (x i) (FunLike.coe.{succ u1, succ u1, 1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) σ (fun (_x : σ) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : σ) => Nat) _x) (Finsupp.funLike.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) d i)))))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval_eq' MvPolynomial.eval_eq'ₓ'. -/
theorem eval_eq' [Fintype σ] (x : σ → R) (f : MvPolynomial σ R) :
eval x f = ∑ d in f.support, f.coeff d * ∏ i, x i ^ d i :=
eval₂_eq' (RingHom.id R) x f
#align mv_polynomial.eval_eq' MvPolynomial.eval_eq'
+/- warning: mv_polynomial.eval_monomial -> MvPolynomial.eval_monomial is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} {a : R} {s : Finsupp.{u2, 0} σ Nat Nat.hasZero} [_inst_1 : CommSemiring.{u1} R] {f : σ -> R}, Eq.{succ u1} R (coeFn.{max (succ (max u2 u1)) (succ u1), max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u2, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.eval.{u1, u2} R σ _inst_1 f) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u2 u1} 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 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))))) (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 -> (MvPolynomial.{u2, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) a)) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) a (Finsupp.prod.{u2, 0, u1} σ Nat R Nat.hasZero (CommSemiring.toCommMonoid.{u1} R _inst_1) s (fun (n : σ) (e : Nat) => HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (f n) e)))
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} {a : R} {s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)} [_inst_1 : CommSemiring.{u2} R] {f : σ -> R}, Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (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) => R) _x) (MulHomClass.toFunLike.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.eval.{u2, u1} R σ _inst_1 f) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a)) (HMul.hMul.{u2, u2, u2} R R R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) a (Finsupp.prod.{u1, 0, u2} σ Nat R (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (CommSemiring.toCommMonoid.{u2} R _inst_1) s (fun (n : σ) (e : Nat) => HPow.hPow.{u2, 0, u2} R Nat R (instHPow.{u2, 0} R Nat (Monoid.Pow.{u2} R (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (f n) e)))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval_monomial MvPolynomial.eval_monomialₓ'. -/
theorem eval_monomial : eval f (monomial s a) = a * s.Prod fun n e => f n ^ e :=
eval₂_monomial _ _
#align mv_polynomial.eval_monomial MvPolynomial.eval_monomial
-@[simp]
-theorem eval_c : ∀ a, eval f (c a) = a :=
- eval₂_c _ _
-#align mv_polynomial.eval_C MvPolynomial.eval_c
-
-@[simp]
-theorem eval_x : ∀ n, eval f (x n) = f n :=
- eval₂_x _ _
-#align mv_polynomial.eval_X MvPolynomial.eval_x
-
+/- warning: mv_polynomial.eval_C -> MvPolynomial.eval_C is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {f : σ -> R} (a : R), Eq.{succ u1} R (coeFn.{max (succ (max u2 u1)) (succ u1), max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u2, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.eval.{u1, u2} R σ _inst_1 f) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) a)) a
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {f : σ -> R} (a : R), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) (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) a)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (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) => R) _x) (MulHomClass.toFunLike.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.eval.{u2, u1} 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) a)) a
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval_C MvPolynomial.eval_Cₓ'. -/
+@[simp]
+theorem eval_C : ∀ a, eval f (C a) = a :=
+ eval₂_C _ _
+#align mv_polynomial.eval_C MvPolynomial.eval_C
+
+/- warning: mv_polynomial.eval_X -> MvPolynomial.eval_X is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {f : σ -> R} (n : σ), Eq.{succ u1} R (coeFn.{max (succ (max u2 u1)) (succ u1), max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u2, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.eval.{u1, u2} R σ _inst_1 f) (MvPolynomial.X.{u1, u2} R σ _inst_1 n)) (f n)
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {f : σ -> R} (n : σ), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) (MvPolynomial.X.{u2, u1} R σ _inst_1 n)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (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) => R) _x) (MulHomClass.toFunLike.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, max u2 u1, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.eval.{u2, u1} R σ _inst_1 f) (MvPolynomial.X.{u2, u1} R σ _inst_1 n)) (f n)
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval_X MvPolynomial.eval_Xₓ'. -/
+@[simp]
+theorem eval_X : ∀ n, eval f (X n) = f n :=
+ eval₂_X _ _
+#align mv_polynomial.eval_X MvPolynomial.eval_X
+
+/- warning: mv_polynomial.smul_eval -> MvPolynomial.smul_eval is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (x : σ -> R) (p : MvPolynomial.{u2, u1} σ R _inst_1) (s : R), Eq.{succ u1} R (coeFn.{max (succ (max u2 u1)) (succ u1), max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u2, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.eval.{u1, u2} R σ _inst_1 x) (SMul.smul.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (SMulZeroClass.toHasSmul.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (AddZeroClass.toHasZero.{max u2 u1} (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)))))))) (SMulWithZero.toSmulZeroClass.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{max u2 u1} (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)))))))) (MulActionWithZero.toSMulWithZero.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{max u2 u1} (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)))))))) (Module.toMulActionWithZero.{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))))) (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))))))) s p)) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) s (coeFn.{max (succ (max u2 u1)) (succ u1), max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u2, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.eval.{u1, u2} R σ _inst_1 x) p))
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (x : σ -> R) (p : MvPolynomial.{u1, u2} σ R _inst_1) (s : R), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) (HSMul.hSMul.{u2, max u2 u1, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (Algebra.toSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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)))) s p)) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (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) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.eval.{u2, u1} R σ _inst_1 x) (HSMul.hSMul.{u2, max u2 u1, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (instHSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (Algebra.toSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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)))) s p)) (HMul.hMul.{u2, u2, u2} R ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) R (instHMul.{u2} R (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) s (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (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) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.eval.{u2, u1} R σ _inst_1 x) p))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.smul_eval MvPolynomial.smul_evalₓ'. -/
@[simp]
theorem smul_eval (x) (p : MvPolynomial σ R) (s) : eval x (s • p) = s * eval x p := by
rw [smul_eq_C_mul, (eval x).map_mul, eval_C]
#align mv_polynomial.smul_eval MvPolynomial.smul_eval
+/- warning: mv_polynomial.eval_sum -> MvPolynomial.eval_sum is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {ι : Type.{u3}} (s : Finset.{u3} ι) (f : ι -> (MvPolynomial.{u2, u1} σ R _inst_1)) (g : σ -> R), Eq.{succ u1} R (coeFn.{max (succ (max u2 u1)) (succ u1), max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u2, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.eval.{u1, u2} R σ _inst_1 g) (Finset.sum.{max u2 u1, u3} (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))))) s (fun (i : ι) => f i))) (Finset.sum.{u1, u3} R ι (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) s (fun (i : ι) => coeFn.{max (succ (max u2 u1)) (succ u1), max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u2, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.eval.{u1, u2} R σ _inst_1 g) (f i)))
+but is expected to have type
+ forall {R : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] {ι : Type.{u2}} (s : Finset.{u2} ι) (f : ι -> (MvPolynomial.{u1, u3} σ R _inst_1)) (g : σ -> R), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ R _inst_1) => R) (Finset.sum.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) ι (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) s (fun (i : ι) => f i))) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), succ u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) R (NonUnitalNonAssocSemiring.toMul.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))))) (MvPolynomial.eval.{u3, u1} R σ _inst_1 g) (Finset.sum.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) ι (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) s (fun (i : ι) => f i))) (Finset.sum.{u3, u2} R ι (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) s (fun (i : ι) => FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), succ u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) R (NonUnitalNonAssocSemiring.toMul.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))))) (MvPolynomial.eval.{u3, u1} R σ _inst_1 g) (f i)))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval_sum MvPolynomial.eval_sumₓ'. -/
theorem eval_sum {ι : Type _} (s : Finset ι) (f : ι → MvPolynomial σ R) (g : σ → R) :
eval g (∑ i in s, f i) = ∑ i in s, eval g (f i) :=
(eval g).map_sum _ _
#align mv_polynomial.eval_sum MvPolynomial.eval_sum
+/- warning: mv_polynomial.eval_prod -> MvPolynomial.eval_prod is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {ι : Type.{u3}} (s : Finset.{u3} ι) (f : ι -> (MvPolynomial.{u2, u1} σ R _inst_1)) (g : σ -> R), Eq.{succ u1} R (coeFn.{max (succ (max u2 u1)) (succ u1), max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u2, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.eval.{u1, u2} R σ _inst_1 g) (Finset.prod.{max u2 u1, u3} (MvPolynomial.{u2, u1} σ R _inst_1) ι (CommSemiring.toCommMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) s (fun (i : ι) => f i))) (Finset.prod.{u1, u3} R ι (CommSemiring.toCommMonoid.{u1} R _inst_1) s (fun (i : ι) => coeFn.{max (succ (max u2 u1)) (succ u1), max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u2, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.eval.{u1, u2} R σ _inst_1 g) (f i)))
+but is expected to have type
+ forall {R : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] {ι : Type.{u2}} (s : Finset.{u2} ι) (f : ι -> (MvPolynomial.{u1, u3} σ R _inst_1)) (g : σ -> R), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ R _inst_1) => R) (Finset.prod.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) ι (CommSemiring.toCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) s (fun (i : ι) => f i))) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), succ u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) R (NonUnitalNonAssocSemiring.toMul.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))))) (MvPolynomial.eval.{u3, u1} R σ _inst_1 g) (Finset.prod.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) ι (CommSemiring.toCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) s (fun (i : ι) => f i))) (Finset.prod.{u3, u2} R ι (CommSemiring.toCommMonoid.{u3} R _inst_1) s (fun (i : ι) => FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), succ u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) R (NonUnitalNonAssocSemiring.toMul.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))))) (MvPolynomial.eval.{u3, u1} R σ _inst_1 g) (f i)))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval_prod MvPolynomial.eval_prodₓ'. -/
@[to_additive]
theorem eval_prod {ι : Type _} (s : Finset ι) (f : ι → MvPolynomial σ R) (g : σ → R) :
eval g (∏ i in s, f i) = ∏ i in s, eval g (f i) :=
@@ -1139,8 +2029,14 @@ theorem eval_prod {ι : Type _} (s : Finset ι) (f : ι → MvPolynomial σ R) (
#align mv_polynomial.eval_prod MvPolynomial.eval_prod
#align mv_polynomial.eval_sum MvPolynomial.eval_sum
+/- warning: mv_polynomial.eval_assoc -> MvPolynomial.eval_assoc is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {τ : Type.{u3}} (f : σ -> (MvPolynomial.{u3, u1} τ R _inst_1)) (g : τ -> R) (p : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{succ u1} R (coeFn.{max (succ (max u2 u1)) (succ u1), max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u2, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.eval.{u1, u2} R σ _inst_1 (Function.comp.{succ u2, max (succ u3) (succ u1), succ u1} σ (MvPolynomial.{u3, u1} τ R _inst_1) R (coeFn.{max (succ (max u3 u1)) (succ u1), max (succ (max u3 u1)) (succ u1)} (RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} τ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} τ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u3, u1} τ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u3 u1, u1} (MvPolynomial.{u3, u1} τ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.eval.{u1, u3} R τ _inst_1 g)) f)) p) (coeFn.{max (succ (max u3 u1)) (succ u1), max (succ (max u3 u1)) (succ u1)} (RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} τ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} τ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u3, u1} τ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u3 u1, u1} (MvPolynomial.{u3, u1} τ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.eval.{u1, u3} R τ _inst_1 g) (MvPolynomial.eval₂.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} τ R _inst_1) σ _inst_1 (MvPolynomial.commSemiring.{u1, u3} R τ _inst_1) (MvPolynomial.C.{u1, u3} R τ _inst_1) f p))
+but is expected to have type
+ forall {R : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] {τ : Type.{u2}} (f : σ -> (MvPolynomial.{u2, u3} τ R _inst_1)) (g : τ -> R) (p : MvPolynomial.{u1, u3} σ R _inst_1), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ R _inst_1) => R) p) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), succ u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) R (NonUnitalNonAssocSemiring.toMul.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))))) (MvPolynomial.eval.{u3, u1} R σ _inst_1 (Function.comp.{succ u1, max (succ u3) (succ u2), succ u3} σ (MvPolynomial.{u2, u3} τ R _inst_1) R (FunLike.coe.{max (succ u3) (succ u2), max (succ u3) (succ u2), succ u3} (RingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} τ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (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) (fun (_x : MvPolynomial.{u2, u3} τ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u2, u3} τ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u3 u2, max u3 u2, u3} (RingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} τ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (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 (NonUnitalNonAssocSemiring.toMul.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, max u3 u2, u3} (RingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} τ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (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 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, max u3 u2, u3} (RingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} τ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (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 (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} τ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (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 g)) f)) p) (FunLike.coe.{max (succ u3) (succ u2), max (succ u3) (succ u2), succ u3} (RingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} τ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (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) (fun (_x : MvPolynomial.{u2, u3} τ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u2, u3} τ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u3 u2, max u3 u2, u3} (RingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} τ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (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 (NonUnitalNonAssocSemiring.toMul.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, max u3 u2, u3} (RingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} τ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (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 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, max u3 u2, u3} (RingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} τ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (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 (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u3 u2, u3} (MvPolynomial.{u2, u3} τ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (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 g) (MvPolynomial.eval₂.{u3, max u3 u2, u1} R (MvPolynomial.{u2, u3} τ R _inst_1) σ _inst_1 (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1) (MvPolynomial.C.{u3, u2} R τ _inst_1) f p))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval_assoc MvPolynomial.eval_assocₓ'. -/
theorem eval_assoc {τ} (f : σ → MvPolynomial τ R) (g : τ → R) (p : MvPolynomial σ R) :
- eval (eval g ∘ f) p = eval g (eval₂ c f p) :=
+ eval (eval g ∘ f) p = eval g (eval₂ C f p) :=
by
rw [eval₂_comp_left (eval g)]
unfold eval; simp only [coe_eval₂_hom]
@@ -1153,33 +2049,65 @@ section Map
variable (f : R →+* S₁)
+#print MvPolynomial.map /-
/-- `map f p` maps a polynomial `p` across a ring hom `f` -/
def map : MvPolynomial σ R →+* MvPolynomial σ S₁ :=
- eval₂Hom (c.comp f) x
+ eval₂Hom (C.comp f) X
#align mv_polynomial.map MvPolynomial.map
+-/
+/- warning: mv_polynomial.map_monomial -> MvPolynomial.map_monomial is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (s : Finsupp.{u3, 0} σ Nat Nat.hasZero) (a : R), Eq.{max (succ u3) (succ u2)} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (coeFn.{max (succ (max u3 u1)) (succ (max u3 u2)), max (succ (max u3 u1)) (succ (max u3 u2))} (RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (fun (_x : RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> (MvPolynomial.{u3, u2} σ S₁ _inst_2)) (RingHom.hasCoeToFun.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (MvPolynomial.map.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f) (coeFn.{max (succ u1) (succ (max u3 u1)), max (succ u1) (succ (max u3 u1))} (LinearMap.{u1, u1, u1, max u3 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u3 u1} 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 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))))) (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 -> (MvPolynomial.{u3, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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 s) a)) (coeFn.{max (succ u2) (succ (max u3 u2)), max (succ u2) (succ (max u3 u2))} (LinearMap.{u2, u2, u2, max u3 u2} S₁ S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (RingHom.id.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) S₁ (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))))) (Semiring.toModule.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (MvPolynomial.module.{u2, u2, u3} S₁ S₁ σ (CommSemiring.toSemiring.{u2} S₁ _inst_2) _inst_2 (Semiring.toModule.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))) (fun (_x : LinearMap.{u2, u2, u2, max u3 u2} S₁ S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (RingHom.id.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) S₁ (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))))) (Semiring.toModule.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (MvPolynomial.module.{u2, u2, u3} S₁ S₁ σ (CommSemiring.toSemiring.{u2} S₁ _inst_2) _inst_2 (Semiring.toModule.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))) => S₁ -> (MvPolynomial.{u3, u2} σ S₁ _inst_2)) (LinearMap.hasCoeToFun.{u2, u2, u2, max u3 u2} S₁ S₁ S₁ (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))))) (Semiring.toModule.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (MvPolynomial.module.{u2, u2, u3} S₁ S₁ σ (CommSemiring.toSemiring.{u2} S₁ _inst_2) _inst_2 (Semiring.toModule.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (RingHom.id.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))) (MvPolynomial.monomial.{u2, u3} S₁ σ _inst_2 s) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) f a))
+but is expected to have type
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (s : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (a : R), Eq.{max (succ u3) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, 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) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 s) a)) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (LinearMap.{u3, u3, u3, max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (RingHom.id.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) σ _inst_2))))) (Semiring.toModule.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2)) (MvPolynomial.module.{u3, u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) σ (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) _inst_2 (Semiring.toModule.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2)))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) => MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u3, max u1 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) σ _inst_2))))) (Semiring.toModule.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2)) (MvPolynomial.module.{u3, u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) σ (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) _inst_2 (Semiring.toModule.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2))) (RingHom.id.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2)))) (MvPolynomial.monomial.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) σ _inst_2 s) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f a))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.map_monomial MvPolynomial.map_monomialₓ'. -/
@[simp]
theorem map_monomial (s : σ →₀ ℕ) (a : R) : map f (monomial s a) = monomial s (f a) :=
(eval₂_monomial _ _).trans monomial_eq.symm
#align mv_polynomial.map_monomial MvPolynomial.map_monomial
+/- warning: mv_polynomial.map_C -> MvPolynomial.map_C is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (a : R), Eq.{max (succ u3) (succ u2)} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (coeFn.{max (succ (max u3 u1)) (succ (max u3 u2)), max (succ (max u3 u1)) (succ (max u3 u2))} (RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (fun (_x : RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> (MvPolynomial.{u3, u2} σ S₁ _inst_2)) (RingHom.hasCoeToFun.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (MvPolynomial.map.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f) (coeFn.{max (succ u1) (succ (max u3 u1)), max (succ u1) (succ (max u3 u1))} (RingHom.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u3, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u3} R σ _inst_1) a)) (coeFn.{max (succ u2) (succ (max u3 u2)), max (succ u2) (succ (max u3 u2))} (RingHom.{u2, max u3 u2} S₁ (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (fun (_x : RingHom.{u2, max u3 u2} S₁ (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) => S₁ -> (MvPolynomial.{u3, u2} σ S₁ _inst_2)) (RingHom.hasCoeToFun.{u2, max u3 u2} S₁ (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (MvPolynomial.C.{u2, u3} S₁ σ _inst_2) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) f a))
+but is expected to have type
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (a : R), Eq.{max (succ u3) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) (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) a)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, 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) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 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) a)) (FunLike.coe.{max (succ u1) (succ u3), succ u3, max (succ u1) (succ u3)} (RingHom.{u3, max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) σ _inst_2)))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) => MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) _x) (MulHomClass.toFunLike.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) σ _inst_2)))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (NonUnitalNonAssocSemiring.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{max u1 u3} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) σ _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) σ _inst_2)))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) σ _inst_2)))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u3, u3, max u1 u3} (RingHom.{u3, max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) σ _inst_2)))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) σ _inst_2))) (RingHom.instRingHomClassRingHom.{u3, max u1 u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2)) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) _inst_2) (MvPolynomial.commSemiring.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) σ _inst_2))))))) (MvPolynomial.C.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) a) σ _inst_2) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f a))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.map_C MvPolynomial.map_Cₓ'. -/
@[simp]
-theorem map_c : ∀ a : R, map f (c a : MvPolynomial σ R) = c (f a) :=
+theorem map_C : ∀ a : R, map f (C a : MvPolynomial σ R) = C (f a) :=
map_monomial _ _
-#align mv_polynomial.map_C MvPolynomial.map_c
-
-@[simp]
-theorem map_x : ∀ n : σ, map f (x n : MvPolynomial σ R) = x n :=
- eval₂_x _ _
-#align mv_polynomial.map_X MvPolynomial.map_x
-
+#align mv_polynomial.map_C MvPolynomial.map_C
+
+/- warning: mv_polynomial.map_X -> MvPolynomial.map_X is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (n : σ), Eq.{max (succ u3) (succ u2)} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (coeFn.{max (succ (max u3 u1)) (succ (max u3 u2)), max (succ (max u3 u1)) (succ (max u3 u2))} (RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (fun (_x : RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> (MvPolynomial.{u3, u2} σ S₁ _inst_2)) (RingHom.hasCoeToFun.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (MvPolynomial.map.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f) (MvPolynomial.X.{u1, u3} R σ _inst_1 n)) (MvPolynomial.X.{u2, u3} S₁ σ _inst_2 n)
+but is expected to have type
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (n : σ), Eq.{max (succ u3) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.X.{u2, u1} R σ _inst_1 n)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, 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) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f) (MvPolynomial.X.{u2, u1} R σ _inst_1 n)) (MvPolynomial.X.{u3, u1} S₁ σ _inst_2 n)
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.map_X MvPolynomial.map_Xₓ'. -/
+@[simp]
+theorem map_X : ∀ n : σ, map f (X n : MvPolynomial σ R) = X n :=
+ eval₂_X _ _
+#align mv_polynomial.map_X MvPolynomial.map_X
+
+/- warning: mv_polynomial.map_id -> MvPolynomial.map_id is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (p : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{succ (max u2 u1), succ (max u2 u1)} (RingHom.{max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (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))) (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)))) (fun (_x : RingHom.{max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (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))) (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)))) => (MvPolynomial.{u2, u1} σ R _inst_1) -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{max u2 u1, max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (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))) (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)))) (MvPolynomial.map.{u1, u1, u2} R R σ _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) p) p
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u2} σ R _inst_1) p) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u2) (succ u1)} (RingHom.{max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (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))) (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.{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) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (MulHomClass.toFunLike.{max u2 u1, max u2 u1, max u2 u1} (RingHom.{max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (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))) (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.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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 u2 u1, max u2 u1, max u2 u1} (RingHom.{max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (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))) (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.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{max u2 u1} (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 u2 u1, max u2 u1, max u2 u1} (RingHom.{max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (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))) (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.{u1, u2} σ R _inst_1) (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))) (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.{max u2 u1, max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (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))) (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.map.{u2, u2, u1} R R σ _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) p) p
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.map_id MvPolynomial.map_idₓ'. -/
theorem map_id : ∀ p : MvPolynomial σ R, map (RingHom.id R) p = p :=
eval₂_eta
#align mv_polynomial.map_id MvPolynomial.map_id
+/- warning: mv_polynomial.map_map -> MvPolynomial.map_map is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {S₁ : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u4}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) [_inst_3 : CommSemiring.{u3} S₂] (g : RingHom.{u2, u3} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))) (p : MvPolynomial.{u4, u1} σ R _inst_1), Eq.{max (succ u4) (succ u3)} (MvPolynomial.{u4, u3} σ S₂ _inst_3) (coeFn.{max (succ (max u4 u2)) (succ (max u4 u3)), max (succ (max u4 u2)) (succ (max u4 u3))} (RingHom.{max u4 u2, max u4 u3} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.{u4, u3} σ S₂ _inst_3) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u3, u4} S₂ σ _inst_3)))) (fun (_x : RingHom.{max u4 u2, max u4 u3} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.{u4, u3} σ S₂ _inst_3) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u3, u4} S₂ σ _inst_3)))) => (MvPolynomial.{u4, u2} σ S₁ _inst_2) -> (MvPolynomial.{u4, u3} σ S₂ _inst_3)) (RingHom.hasCoeToFun.{max u4 u2, max u4 u3} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.{u4, u3} σ S₂ _inst_3) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u3, u4} S₂ σ _inst_3)))) (MvPolynomial.map.{u2, u3, u4} S₁ S₂ σ _inst_2 _inst_3 g) (coeFn.{max (succ (max u4 u1)) (succ (max u4 u2)), max (succ (max u4 u1)) (succ (max u4 u2))} (RingHom.{max u4 u1, max u4 u2} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.{u4, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ σ _inst_2)))) (fun (_x : RingHom.{max u4 u1, max u4 u2} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.{u4, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ σ _inst_2)))) => (MvPolynomial.{u4, u1} σ R _inst_1) -> (MvPolynomial.{u4, u2} σ S₁ _inst_2)) (RingHom.hasCoeToFun.{max u4 u1, max u4 u2} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.{u4, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ σ _inst_2)))) (MvPolynomial.map.{u1, u2, u4} R S₁ σ _inst_1 _inst_2 f) p)) (coeFn.{max (succ (max u4 u1)) (succ (max u4 u3)), max (succ (max u4 u1)) (succ (max u4 u3))} (RingHom.{max u4 u1, max u4 u3} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.{u4, u3} σ S₂ _inst_3) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u3, u4} S₂ σ _inst_3)))) (fun (_x : RingHom.{max u4 u1, max u4 u3} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.{u4, u3} σ S₂ _inst_3) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u3, u4} S₂ σ _inst_3)))) => (MvPolynomial.{u4, u1} σ R _inst_1) -> (MvPolynomial.{u4, u3} σ S₂ _inst_3)) (RingHom.hasCoeToFun.{max u4 u1, max u4 u3} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.{u4, u3} σ S₂ _inst_3) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u3, u4} S₂ σ _inst_3)))) (MvPolynomial.map.{u1, u3, u4} R S₂ σ _inst_1 _inst_3 (RingHom.comp.{u1, u2, u3} R S₁ S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3)) g f)) p)
+but is expected to have type
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {S₂ : Type.{u4}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) [_inst_3 : CommSemiring.{u4} S₂] (g : RingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{max (succ u4) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => MvPolynomial.{u1, u4} σ S₂ _inst_3) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (fun (a : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f) p)) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u1), max (succ u3) (succ u1), max (succ u4) (succ u1)} (RingHom.{max u3 u1, max u4 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u4} σ S₂ _inst_3) (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))) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3)))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (fun (_x : MvPolynomial.{u1, u3} σ S₁ _inst_2) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => MvPolynomial.{u1, u4} σ S₂ _inst_3) _x) (MulHomClass.toFunLike.{max (max u3 u4) u1, max u3 u1, max u4 u1} (RingHom.{max u3 u1, max u4 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u4} σ S₂ _inst_3) (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))) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3)))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u4} σ S₂ _inst_3) (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))))) (NonUnitalNonAssocSemiring.toMul.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3))))) (NonUnitalRingHomClass.toMulHomClass.{max (max u3 u4) u1, max u3 u1, max u4 u1} (RingHom.{max u3 u1, max u4 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u4} σ S₂ _inst_3) (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))) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3)))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u4} σ S₂ _inst_3) (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)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3)))) (RingHomClass.toNonUnitalRingHomClass.{max (max u3 u4) u1, max u3 u1, max u4 u1} (RingHom.{max u3 u1, max u4 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u4} σ S₂ _inst_3) (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))) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3)))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u4} σ S₂ _inst_3) (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))) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3))) (RingHom.instRingHomClassRingHom.{max u3 u1, max u4 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u4} σ S₂ _inst_3) (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))) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3))))))) (MvPolynomial.map.{u3, u4, u1} S₁ S₂ σ _inst_2 _inst_3 g) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, 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) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f) p)) (FunLike.coe.{max (max (succ u2) (succ u4)) (succ u1), max (succ u2) (succ u1), max (succ u4) (succ u1)} (RingHom.{max u2 u1, max u4 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u4} σ S₂ _inst_3) (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.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3)))) (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) => MvPolynomial.{u1, u4} σ S₂ _inst_3) _x) (MulHomClass.toFunLike.{max (max u2 u4) u1, max u2 u1, max u4 u1} (RingHom.{max u2 u1, max u4 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u4} σ S₂ _inst_3) (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.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3)))) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u4} σ S₂ _inst_3) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3))))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u4) u1, max u2 u1, max u4 u1} (RingHom.{max u2 u1, max u4 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u4} σ S₂ _inst_3) (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.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3)))) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u4} σ S₂ _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3)))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u4) u1, max u2 u1, max u4 u1} (RingHom.{max u2 u1, max u4 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u4} σ S₂ _inst_3) (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.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3)))) (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u4} σ S₂ _inst_3) (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.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3))) (RingHom.instRingHomClassRingHom.{max u2 u1, max u4 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u4} σ S₂ _inst_3) (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.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3))))))) (MvPolynomial.map.{u2, u4, u1} R S₂ σ _inst_1 _inst_3 (RingHom.comp.{u2, u3, u4} R S₁ S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)) g f)) p)
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.map_map MvPolynomial.map_mapₓ'. -/
theorem map_map [CommSemiring S₂] (g : S₁ →+* S₂) (p : MvPolynomial σ R) :
map g (map f p) = map (g.comp f) p :=
- (eval₂_comp_left (map g) (c.comp f) x p).trans <|
+ (eval₂_comp_left (map g) (C.comp f) X p).trans <|
by
congr
· ext1 a
@@ -1188,6 +2116,12 @@ theorem map_map [CommSemiring S₂] (g : S₁ →+* S₂) (p : MvPolynomial σ R
simp only [map_X, comp_app]
#align mv_polynomial.map_map MvPolynomial.map_map
+/- warning: mv_polynomial.eval₂_eq_eval_map -> MvPolynomial.eval₂_eq_eval_map is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : σ -> S₁) (p : MvPolynomial.{u3, u1} σ R _inst_1), Eq.{succ u2} S₁ (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g p) (coeFn.{max (succ (max u3 u2)) (succ u2), max (succ (max u3 u2)) (succ u2)} (RingHom.{max u3 u2, u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{max u3 u2, u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => (MvPolynomial.{u3, u2} σ S₁ _inst_2) -> S₁) (RingHom.hasCoeToFun.{max u3 u2, u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (MvPolynomial.eval.{u2, u3} S₁ σ _inst_2 g) (coeFn.{max (succ (max u3 u1)) (succ (max u3 u2)), max (succ (max u3 u1)) (succ (max u3 u2))} (RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (fun (_x : RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> (MvPolynomial.{u3, u2} σ S₁ _inst_2)) (RingHom.hasCoeToFun.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (MvPolynomial.map.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f) p))
+but is expected to have type
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} S₁ (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g p) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), succ u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (fun (_x : MvPolynomial.{u1, u3} σ S₁ _inst_2) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) _x) (MulHomClass.toFunLike.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (MvPolynomial.eval.{u3, u1} S₁ σ _inst_2 g) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, 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) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f) p))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_eq_eval_map MvPolynomial.eval₂_eq_eval_mapₓ'. -/
theorem eval₂_eq_eval_map (g : σ → S₁) (p : MvPolynomial σ R) : p.eval₂ f g = eval g (map f p) :=
by
unfold map eval; simp only [coe_eval₂_hom]
@@ -1201,6 +2135,12 @@ theorem eval₂_eq_eval_map (g : σ → S₁) (p : MvPolynomial σ R) : p.eval
simp only [comp_app, eval₂_X]
#align mv_polynomial.eval₂_eq_eval_map MvPolynomial.eval₂_eq_eval_map
+/- warning: mv_polynomial.eval₂_comp_right -> MvPolynomial.eval₂_comp_right is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] {S₂ : Type.{u4}} [_inst_3 : CommSemiring.{u4} S₂] (k : RingHom.{u2, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : σ -> S₁) (p : MvPolynomial.{u3, u1} σ R _inst_1), Eq.{succ u4} S₂ (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (RingHom.{u2, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) (fun (_x : RingHom.{u2, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) => S₁ -> S₂) (RingHom.hasCoeToFun.{u2, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) k (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g p)) (MvPolynomial.eval₂.{u2, u4, u3} S₁ S₂ σ _inst_2 _inst_3 k (Function.comp.{succ u3, succ u2, succ u4} σ S₁ S₂ (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (RingHom.{u2, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) (fun (_x : RingHom.{u2, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) => S₁ -> S₂) (RingHom.hasCoeToFun.{u2, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) k) g) (coeFn.{max (succ (max u3 u1)) (succ (max u3 u2)), max (succ (max u3 u1)) (succ (max u3 u2))} (RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (fun (_x : RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> (MvPolynomial.{u3, u2} σ S₁ _inst_2)) (RingHom.hasCoeToFun.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (MvPolynomial.map.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f) p))
+but is expected to have type
+ forall {R : Type.{u3}} {S₁ : Type.{u4}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] [_inst_2 : CommSemiring.{u4} S₁] {S₂ : Type.{u2}} [_inst_3 : CommSemiring.{u2} S₂] (k : RingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) (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 : σ -> S₁) (p : MvPolynomial.{u1, u3} σ R _inst_1), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S₁) => S₂) (MvPolynomial.eval₂.{u3, u4, u1} R S₁ σ _inst_1 _inst_2 f g p)) (FunLike.coe.{max (succ u4) (succ u2), succ u4, succ u2} (RingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) S₁ (fun (_x : S₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S₁) => S₂) _x) (MulHomClass.toFunLike.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) S₁ S₂ (NonUnitalNonAssocSemiring.toMul.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{u2} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) S₁ S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3)) (RingHom.instRingHomClassRingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3)))))) k (MvPolynomial.eval₂.{u3, u4, u1} R S₁ σ _inst_1 _inst_2 f g p)) (MvPolynomial.eval₂.{u4, u2, u1} S₁ S₂ σ _inst_2 _inst_3 k (Function.comp.{succ u1, succ u4, succ u2} σ S₁ S₂ (FunLike.coe.{max (succ u4) (succ u2), succ u4, succ u2} (RingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) S₁ (fun (_x : S₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S₁) => S₂) _x) (MulHomClass.toFunLike.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) S₁ S₂ (NonUnitalNonAssocSemiring.toMul.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{u2} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) S₁ S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3))) S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3)) (RingHom.instRingHomClassRingHom.{u4, u2} S₁ S₂ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_3)))))) k) g) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u1), max (succ u3) (succ u1), max (succ u4) (succ u1)} (RingHom.{max u3 u1, max u4 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u1, u4} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u4, u1} S₁ σ _inst_2)))) (MvPolynomial.{u1, u3} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ R _inst_1) => MvPolynomial.{u1, u4} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u3 u4) u1, max u3 u1, max u4 u1} (RingHom.{max u3 u1, max u4 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u1, u4} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u1} (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) (NonUnitalNonAssocSemiring.toMul.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{max u4 u1} (MvPolynomial.{u1, u4} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u4, u1} S₁ σ _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{max (max u3 u4) u1, max u3 u1, max u4 u1} (RingHom.{max u3 u1, max u4 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u1, u4} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u1} (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) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u4, u1} S₁ σ _inst_2)))) (RingHomClass.toNonUnitalRingHomClass.{max (max u3 u4) u1, max u3 u1, max u4 u1} (RingHom.{max u3 u1, max u4 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u1, u4} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u1} (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) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u4, u1} S₁ σ _inst_2))) (RingHom.instRingHomClassRingHom.{max u3 u1, max u4 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u1, u4} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u1} (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))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_comp_right MvPolynomial.eval₂_comp_rightₓ'. -/
theorem eval₂_comp_right {S₂} [CommSemiring S₂] (k : S₁ →+* S₂) (f : R →+* S₁) (g : σ → S₁) (p) :
k (eval₂ f g p) = eval₂ k (k ∘ g) (map f p) :=
by
@@ -1213,8 +2153,14 @@ theorem eval₂_comp_right {S₂} [CommSemiring S₂] (k : S₁ →+* S₂) (f :
rw [eval₂_mul, k.map_mul, (map f).map_mul, eval₂_mul, map_X, hp, eval₂_X, eval₂_X]
#align mv_polynomial.eval₂_comp_right MvPolynomial.eval₂_comp_right
+/- warning: mv_polynomial.map_eval₂ -> MvPolynomial.map_eval₂ is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {S₁ : Type.{u2}} {S₂ : Type.{u3}} {S₃ : Type.{u4}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : S₂ -> (MvPolynomial.{u4, u1} S₃ R _inst_1)) (p : MvPolynomial.{u3, u1} S₂ R _inst_1), Eq.{max (succ u4) (succ u2)} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (coeFn.{max (succ (max u4 u1)) (succ (max u4 u2)), max (succ (max u4 u1)) (succ (max u4 u2))} (RingHom.{max u4 u1, max u4 u2} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2)))) (fun (_x : RingHom.{max u4 u1, max u4 u2} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2)))) => (MvPolynomial.{u4, u1} S₃ R _inst_1) -> (MvPolynomial.{u4, u2} S₃ S₁ _inst_2)) (RingHom.hasCoeToFun.{max u4 u1, max u4 u2} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2)))) (MvPolynomial.map.{u1, u2, u4} R S₁ S₃ _inst_1 _inst_2 f) (MvPolynomial.eval₂.{u1, max u4 u1, u3} R (MvPolynomial.{u4, u1} S₃ R _inst_1) S₂ _inst_1 (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1) (MvPolynomial.C.{u1, u4} R S₃ _inst_1) g p)) (MvPolynomial.eval₂.{u2, max u4 u2, u3} S₁ (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) S₂ _inst_2 (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2) (MvPolynomial.C.{u2, u4} S₁ S₃ _inst_2) (Function.comp.{succ u3, max (succ u4) (succ u1), max (succ u4) (succ u2)} S₂ (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (coeFn.{max (succ (max u4 u1)) (succ (max u4 u2)), max (succ (max u4 u1)) (succ (max u4 u2))} (RingHom.{max u4 u1, max u4 u2} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2)))) (fun (_x : RingHom.{max u4 u1, max u4 u2} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2)))) => (MvPolynomial.{u4, u1} S₃ R _inst_1) -> (MvPolynomial.{u4, u2} S₃ S₁ _inst_2)) (RingHom.hasCoeToFun.{max u4 u1, max u4 u2} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2)))) (MvPolynomial.map.{u1, u2, u4} R S₁ S₃ _inst_1 _inst_2 f)) g) (coeFn.{max (succ (max u3 u1)) (succ (max u3 u2)), max (succ (max u3 u1)) (succ (max u3 u2))} (RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} S₂ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R S₂ _inst_1))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ S₂ _inst_2)))) (fun (_x : RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} S₂ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R S₂ _inst_1))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ S₂ _inst_2)))) => (MvPolynomial.{u3, u1} S₂ R _inst_1) -> (MvPolynomial.{u3, u2} S₂ S₁ _inst_2)) (RingHom.hasCoeToFun.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} S₂ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R S₂ _inst_1))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ S₂ _inst_2)))) (MvPolynomial.map.{u1, u2, u3} R S₁ S₂ _inst_1 _inst_2 f) p))
+but is expected to have type
+ forall {R : Type.{u1}} {S₁ : Type.{u2}} {S₂ : Type.{u3}} {S₃ : Type.{u4}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : S₂ -> (MvPolynomial.{u4, u1} S₃ R _inst_1)) (p : MvPolynomial.{u3, u1} S₂ R _inst_1), Eq.{max (succ u2) (succ u4)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u4, u1} S₃ R _inst_1) => MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.eval₂.{u1, max u1 u4, u3} R (MvPolynomial.{u4, u1} S₃ R _inst_1) S₂ _inst_1 (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1) (MvPolynomial.C.{u1, u4} R S₃ _inst_1) g p)) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u4), max (succ u1) (succ u4), max (succ u2) (succ u4)} (RingHom.{max u1 u4, max u2 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1))) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2)))) (MvPolynomial.{u4, u1} S₃ R _inst_1) (fun (_x : MvPolynomial.{u4, u1} S₃ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u4, u1} S₃ R _inst_1) => MvPolynomial.{u4, u2} S₃ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u1 u2) u4, max u1 u4, max u2 u4} (RingHom.{max u1 u4, max u2 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1))) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2)))) (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{max (max u1 u2) u4, max u1 u4, max u2 u4} (RingHom.{max u1 u4, max u2 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1))) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2)))) (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2)))) (RingHomClass.toNonUnitalRingHomClass.{max (max u1 u2) u4, max u1 u4, max u2 u4} (RingHom.{max u1 u4, max u2 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1))) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2)))) (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1))) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2))) (RingHom.instRingHomClassRingHom.{max u1 u4, max u2 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1))) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2))))))) (MvPolynomial.map.{u1, u2, u4} R S₁ S₃ _inst_1 _inst_2 f) (MvPolynomial.eval₂.{u1, max u1 u4, u3} R (MvPolynomial.{u4, u1} S₃ R _inst_1) S₂ _inst_1 (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1) (MvPolynomial.C.{u1, u4} R S₃ _inst_1) g p)) (MvPolynomial.eval₂.{u2, max u4 u2, u3} S₁ (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) S₂ _inst_2 (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2) (MvPolynomial.C.{u2, u4} S₁ S₃ _inst_2) (Function.comp.{succ u3, max (succ u1) (succ u4), max (succ u4) (succ u2)} S₂ (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u4), max (succ u1) (succ u4), max (succ u2) (succ u4)} (RingHom.{max u1 u4, max u2 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1))) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2)))) (MvPolynomial.{u4, u1} S₃ R _inst_1) (fun (_x : MvPolynomial.{u4, u1} S₃ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u4, u1} S₃ R _inst_1) => MvPolynomial.{u4, u2} S₃ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u1 u2) u4, max u1 u4, max u2 u4} (RingHom.{max u1 u4, max u2 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1))) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2)))) (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{max (max u1 u2) u4, max u1 u4, max u2 u4} (RingHom.{max u1 u4, max u2 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1))) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2)))) (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2)))) (RingHomClass.toNonUnitalRingHomClass.{max (max u1 u2) u4, max u1 u4, max u2 u4} (RingHom.{max u1 u4, max u2 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1))) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2)))) (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1))) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2))) (RingHom.instRingHomClassRingHom.{max u1 u4, max u2 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} S₃ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R S₃ _inst_1))) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u4, u2} S₃ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ S₃ _inst_2))))))) (MvPolynomial.map.{u1, u2, u4} R S₁ S₃ _inst_1 _inst_2 f)) g) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u1) (succ u3), max (succ u2) (succ u3)} (RingHom.{max u1 u3, max u2 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R S₂ _inst_1))) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ S₂ _inst_2)))) (MvPolynomial.{u3, u1} S₂ R _inst_1) (fun (_x : MvPolynomial.{u3, u1} S₂ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u3, u1} S₂ R _inst_1) => MvPolynomial.{u3, u2} S₂ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u1 u2) u3, max u1 u3, max u2 u3} (RingHom.{max u1 u3, max u2 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R S₂ _inst_1))) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ S₂ _inst_2)))) (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R S₂ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ S₂ _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{max (max u1 u2) u3, max u1 u3, max u2 u3} (RingHom.{max u1 u3, max u2 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R S₂ _inst_1))) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ S₂ _inst_2)))) (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R S₂ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ S₂ _inst_2)))) (RingHomClass.toNonUnitalRingHomClass.{max (max u1 u2) u3, max u1 u3, max u2 u3} (RingHom.{max u1 u3, max u2 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R S₂ _inst_1))) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ S₂ _inst_2)))) (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R S₂ _inst_1))) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ S₂ _inst_2))) (RingHom.instRingHomClassRingHom.{max u1 u3, max u2 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u3, u1} S₂ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R S₂ _inst_1))) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} S₂ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ S₂ _inst_2))))))) (MvPolynomial.map.{u1, u2, u3} R S₁ S₂ _inst_1 _inst_2 f) p))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.map_eval₂ MvPolynomial.map_eval₂ₓ'. -/
theorem map_eval₂ (f : R →+* S₁) (g : S₂ → MvPolynomial S₃ R) (p : MvPolynomial S₂ R) :
- map f (eval₂ c g p) = eval₂ c (map f ∘ g) (map f p) :=
+ map f (eval₂ C g p) = eval₂ C (map f ∘ g) (map f p) :=
by
apply MvPolynomial.induction_on p
· intro r
@@ -1225,6 +2171,12 @@ theorem map_eval₂ (f : R →+* S₁) (g : S₂ → MvPolynomial S₃ R) (p : M
rw [eval₂_mul, (map f).map_mul, hp, (map f).map_mul, map_X, eval₂_mul, eval₂_X, eval₂_X]
#align mv_polynomial.map_eval₂ MvPolynomial.map_eval₂
+/- warning: mv_polynomial.coeff_map -> MvPolynomial.coeff_map is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (p : MvPolynomial.{u3, u1} σ R _inst_1) (m : Finsupp.{u3, 0} σ Nat Nat.hasZero), Eq.{succ u2} S₁ (MvPolynomial.coeff.{u2, u3} S₁ σ _inst_2 m (coeFn.{max (succ (max u3 u1)) (succ (max u3 u2)), max (succ (max u3 u1)) (succ (max u3 u2))} (RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (fun (_x : RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> (MvPolynomial.{u3, u2} σ S₁ _inst_2)) (RingHom.hasCoeToFun.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (MvPolynomial.map.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f) p)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) f (MvPolynomial.coeff.{u1, u3} R σ _inst_1 m p))
+but is expected to have type
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (p : MvPolynomial.{u1, u2} σ R _inst_1) (m : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)), Eq.{succ u3} S₁ (MvPolynomial.coeff.{u3, u1} S₁ σ _inst_2 m (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, 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) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f) p)) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f (MvPolynomial.coeff.{u2, u1} R σ _inst_1 m p))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.coeff_map MvPolynomial.coeff_mapₓ'. -/
theorem coeff_map (p : MvPolynomial σ R) : ∀ m : σ →₀ ℕ, coeff m (map f p) = f (coeff m p) :=
by
apply MvPolynomial.induction_on p <;> clear p
@@ -1245,6 +2197,12 @@ theorem coeff_map (p : MvPolynomial σ R) : ∀ m : σ →₀ ℕ, coeff m (map
rw [f.map_zero]
#align mv_polynomial.coeff_map MvPolynomial.coeff_map
+/- warning: mv_polynomial.map_injective -> MvPolynomial.map_injective is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))), (Function.Injective.{succ u1, succ u2} R S₁ (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) f)) -> (Function.Injective.{max (succ u3) (succ u1), max (succ u3) (succ u2)} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (coeFn.{max (succ (max u3 u1)) (succ (max u3 u2)), max (succ (max u3 u1)) (succ (max u3 u2))} (RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (fun (_x : RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> (MvPolynomial.{u3, u2} σ S₁ _inst_2)) (RingHom.hasCoeToFun.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (MvPolynomial.map.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f)))
+but is expected to have type
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))), (Function.Injective.{succ u2, succ u3} R S₁ (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f)) -> (Function.Injective.{max (succ u2) (succ u1), max (succ u3) (succ u1)} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, 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) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f)))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.map_injective MvPolynomial.map_injectiveₓ'. -/
theorem map_injective (hf : Function.Injective f) :
Function.Injective (map f : MvPolynomial σ R → MvPolynomial σ S₁) :=
by
@@ -1254,6 +2212,12 @@ theorem map_injective (hf : Function.Injective f) :
exact hf (h m)
#align mv_polynomial.map_injective MvPolynomial.map_injective
+/- warning: mv_polynomial.map_surjective -> MvPolynomial.map_surjective is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))), (Function.Surjective.{succ u1, succ u2} R S₁ (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) f)) -> (Function.Surjective.{max (succ u3) (succ u1), max (succ u3) (succ u2)} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (coeFn.{max (succ (max u3 u1)) (succ (max u3 u2)), max (succ (max u3 u1)) (succ (max u3 u2))} (RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (fun (_x : RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> (MvPolynomial.{u3, u2} σ S₁ _inst_2)) (RingHom.hasCoeToFun.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (MvPolynomial.map.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f)))
+but is expected to have type
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))), (Function.Surjective.{succ u2, succ u3} R S₁ (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f)) -> (Function.Surjective.{max (succ u2) (succ u1), max (succ u3) (succ u1)} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, 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) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f)))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.map_surjective MvPolynomial.map_surjectiveₓ'. -/
theorem map_surjective (hf : Function.Surjective f) :
Function.Surjective (map f : MvPolynomial σ R → MvPolynomial σ S₁) := fun p =>
by
@@ -1265,47 +2229,95 @@ theorem map_surjective (hf : Function.Surjective f) :
exact ⟨a + b, RingHom.map_add _ _ _⟩
#align mv_polynomial.map_surjective MvPolynomial.map_surjective
+/- warning: mv_polynomial.map_left_inverse -> MvPolynomial.map_leftInverse is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] {f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))} {g : RingHom.{u2, u1} S₁ R (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))}, (Function.LeftInverse.{succ u2, succ u1} S₁ R (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) f) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (RingHom.{u2, u1} S₁ R (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{u2, u1} S₁ R (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => S₁ -> R) (RingHom.hasCoeToFun.{u2, u1} S₁ R (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) g)) -> (Function.LeftInverse.{max (succ u3) (succ u2), max (succ u3) (succ u1)} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.{u3, u1} σ R _inst_1) (coeFn.{max (succ (max u3 u1)) (succ (max u3 u2)), max (succ (max u3 u1)) (succ (max u3 u2))} (RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (fun (_x : RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> (MvPolynomial.{u3, u2} σ S₁ _inst_2)) (RingHom.hasCoeToFun.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (MvPolynomial.map.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f)) (coeFn.{max (succ (max u3 u2)) (succ (max u3 u1)), max (succ (max u3 u2)) (succ (max u3 u1))} (RingHom.{max u3 u2, max u3 u1} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))) (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)))) (fun (_x : RingHom.{max u3 u2, max u3 u1} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))) (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)))) => (MvPolynomial.{u3, u2} σ S₁ _inst_2) -> (MvPolynomial.{u3, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{max u3 u2, max u3 u1} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))) (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)))) (MvPolynomial.map.{u2, u1, u3} S₁ R σ _inst_2 _inst_1 g)))
+but is expected to have type
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] {f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))} {g : RingHom.{u3, u2} S₁ R (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))}, (Function.LeftInverse.{succ u3, succ u2} S₁ R (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (RingHom.{u3, u2} S₁ R (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S₁ (fun (_x : S₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S₁) => R) _x) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (RingHom.{u3, u2} S₁ R (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S₁ R (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u3, u2} (RingHom.{u3, u2} S₁ R (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S₁ R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u3, u2} (RingHom.{u3, u2} S₁ R (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S₁ R (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{u3, u2} S₁ R (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) g)) -> (Function.LeftInverse.{max (succ u3) (succ u1), max (succ u2) (succ u1)} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u2} σ R _inst_1) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, 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) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u3) (succ u1), max (succ u2) (succ u1)} (RingHom.{max u3 u1, max u2 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u2} σ 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))) (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.{u1, u3} σ S₁ _inst_2) (fun (_x : MvPolynomial.{u1, u3} σ S₁ _inst_2) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u3 u1, max u2 u1} (RingHom.{max u3 u1, max u2 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u2} σ 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))) (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.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u2} σ 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))))) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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 (max u2 u3) u1, max u3 u1, max u2 u1} (RingHom.{max u3 u1, max u2 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u2} σ 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))) (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.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u2} σ 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)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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 (max u2 u3) u1, max u3 u1, max u2 u1} (RingHom.{max u3 u1, max u2 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u2} σ 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))) (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.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u2} σ 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))) (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.{max u3 u1, max u2 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u2} σ 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))) (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.map.{u3, u2, u1} S₁ R σ _inst_2 _inst_1 g)))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.map_left_inverse MvPolynomial.map_leftInverseₓ'. -/
/-- If `f` is a left-inverse of `g` then `map f` is a left-inverse of `map g`. -/
theorem map_leftInverse {f : R →+* S₁} {g : S₁ →+* R} (hf : Function.LeftInverse f g) :
Function.LeftInverse (map f : MvPolynomial σ R → MvPolynomial σ S₁) (map g) := fun x => by
rw [map_map, (RingHom.ext hf : f.comp g = RingHom.id _), map_id]
#align mv_polynomial.map_left_inverse MvPolynomial.map_leftInverse
+/- warning: mv_polynomial.map_right_inverse -> MvPolynomial.map_rightInverse is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] {f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))} {g : RingHom.{u2, u1} S₁ R (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))}, (Function.RightInverse.{succ u2, succ u1} S₁ R (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) f) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (RingHom.{u2, u1} S₁ R (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{u2, u1} S₁ R (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => S₁ -> R) (RingHom.hasCoeToFun.{u2, u1} S₁ R (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) g)) -> (Function.RightInverse.{max (succ u3) (succ u2), max (succ u3) (succ u1)} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.{u3, u1} σ R _inst_1) (coeFn.{max (succ (max u3 u1)) (succ (max u3 u2)), max (succ (max u3 u1)) (succ (max u3 u2))} (RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (fun (_x : RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> (MvPolynomial.{u3, u2} σ S₁ _inst_2)) (RingHom.hasCoeToFun.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (MvPolynomial.map.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f)) (coeFn.{max (succ (max u3 u2)) (succ (max u3 u1)), max (succ (max u3 u2)) (succ (max u3 u1))} (RingHom.{max u3 u2, max u3 u1} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))) (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)))) (fun (_x : RingHom.{max u3 u2, max u3 u1} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))) (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)))) => (MvPolynomial.{u3, u2} σ S₁ _inst_2) -> (MvPolynomial.{u3, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{max u3 u2, max u3 u1} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))) (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)))) (MvPolynomial.map.{u2, u1, u3} S₁ R σ _inst_2 _inst_1 g)))
+but is expected to have type
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] {f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))} {g : RingHom.{u3, u2} S₁ R (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))}, (Function.RightInverse.{succ u3, succ u2} S₁ R (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f) (FunLike.coe.{max (succ u2) (succ u3), succ u3, succ u2} (RingHom.{u3, u2} S₁ R (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S₁ (fun (_x : S₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S₁) => R) _x) (MulHomClass.toFunLike.{max u2 u3, u3, u2} (RingHom.{u3, u2} S₁ R (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S₁ R (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u3, u2} (RingHom.{u3, u2} S₁ R (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S₁ R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u3, u2} (RingHom.{u3, u2} S₁ R (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S₁ R (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{u3, u2} S₁ R (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) g)) -> (Function.RightInverse.{max (succ u3) (succ u1), max (succ u2) (succ u1)} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u2} σ R _inst_1) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, 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) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u3) (succ u1), max (succ u2) (succ u1)} (RingHom.{max u3 u1, max u2 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u2} σ 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))) (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.{u1, u3} σ S₁ _inst_2) (fun (_x : MvPolynomial.{u1, u3} σ S₁ _inst_2) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u3 u1, max u2 u1} (RingHom.{max u3 u1, max u2 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u2} σ 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))) (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.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u2} σ 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))))) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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 (max u2 u3) u1, max u3 u1, max u2 u1} (RingHom.{max u3 u1, max u2 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u2} σ 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))) (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.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u2} σ 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)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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 (max u2 u3) u1, max u3 u1, max u2 u1} (RingHom.{max u3 u1, max u2 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u2} σ 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))) (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.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u2} σ 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))) (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.{max u3 u1, max u2 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u2} σ 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))) (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.map.{u3, u2, u1} S₁ R σ _inst_2 _inst_1 g)))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.map_right_inverse MvPolynomial.map_rightInverseₓ'. -/
/-- If `f` is a right-inverse of `g` then `map f` is a right-inverse of `map g`. -/
theorem map_rightInverse {f : R →+* S₁} {g : S₁ →+* R} (hf : Function.RightInverse f g) :
Function.RightInverse (map f : MvPolynomial σ R → MvPolynomial σ S₁) (map g) :=
(map_leftInverse hf.LeftInverse).RightInverse
#align mv_polynomial.map_right_inverse MvPolynomial.map_rightInverse
+/- warning: mv_polynomial.eval_map -> MvPolynomial.eval_map is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : σ -> S₁) (p : MvPolynomial.{u3, u1} σ R _inst_1), Eq.{succ u2} S₁ (coeFn.{max (succ (max u3 u2)) (succ u2), max (succ (max u3 u2)) (succ u2)} (RingHom.{max u3 u2, u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{max u3 u2, u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => (MvPolynomial.{u3, u2} σ S₁ _inst_2) -> S₁) (RingHom.hasCoeToFun.{max u3 u2, u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (MvPolynomial.eval.{u2, u3} S₁ σ _inst_2 g) (coeFn.{max (succ (max u3 u1)) (succ (max u3 u2)), max (succ (max u3 u1)) (succ (max u3 u2))} (RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (fun (_x : RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> (MvPolynomial.{u3, u2} σ S₁ _inst_2)) (RingHom.hasCoeToFun.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (MvPolynomial.map.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f) p)) (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f g p)
+but is expected to have type
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₁) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (fun (a : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f) p)) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), succ u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (fun (_x : MvPolynomial.{u1, u3} σ S₁ _inst_2) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) _x) (MulHomClass.toFunLike.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u1, max u3 u1, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (MvPolynomial.eval.{u3, u1} S₁ σ _inst_2 g) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, 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) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f) p)) (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f g p)
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval_map MvPolynomial.eval_mapₓ'. -/
@[simp]
theorem eval_map (f : R →+* S₁) (g : σ → S₁) (p : MvPolynomial σ R) :
eval g (map f p) = eval₂ f g p := by
apply MvPolynomial.induction_on p <;> · simp (config := { contextual := true })
#align mv_polynomial.eval_map MvPolynomial.eval_map
+/- warning: mv_polynomial.eval₂_map -> MvPolynomial.eval₂_map is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {S₁ : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u4}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : CommSemiring.{u3} S₂] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : σ -> S₂) (φ : RingHom.{u2, u3} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))) (p : MvPolynomial.{u4, u1} σ R _inst_1), Eq.{succ u3} S₂ (MvPolynomial.eval₂.{u2, u3, u4} S₁ S₂ σ _inst_2 _inst_3 φ g (coeFn.{max (succ (max u4 u1)) (succ (max u4 u2)), max (succ (max u4 u1)) (succ (max u4 u2))} (RingHom.{max u4 u1, max u4 u2} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.{u4, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ σ _inst_2)))) (fun (_x : RingHom.{max u4 u1, max u4 u2} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.{u4, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ σ _inst_2)))) => (MvPolynomial.{u4, u1} σ R _inst_1) -> (MvPolynomial.{u4, u2} σ S₁ _inst_2)) (RingHom.hasCoeToFun.{max u4 u1, max u4 u2} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.{u4, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ σ _inst_2)))) (MvPolynomial.map.{u1, u2, u4} R S₁ σ _inst_1 _inst_2 f) p)) (MvPolynomial.eval₂.{u1, u3, u4} R S₂ σ _inst_1 _inst_3 (RingHom.comp.{u1, u2, u3} R S₁ S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3)) φ f) g p)
+but is expected to have type
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {S₂ : Type.{u4}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : CommSemiring.{u4} S₂] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₂) (φ : RingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u4} S₂ (MvPolynomial.eval₂.{u3, u4, u1} S₁ S₂ σ _inst_2 _inst_3 φ g (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, 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) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f) p)) (MvPolynomial.eval₂.{u2, u4, u1} R S₂ σ _inst_1 _inst_3 (RingHom.comp.{u2, u3, u4} R S₁ S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)) φ f) g p)
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_map MvPolynomial.eval₂_mapₓ'. -/
@[simp]
theorem eval₂_map [CommSemiring S₂] (f : R →+* S₁) (g : σ → S₂) (φ : S₁ →+* S₂)
(p : MvPolynomial σ R) : eval₂ φ g (map f p) = eval₂ (φ.comp f) g p := by
rw [← eval_map, ← eval_map, map_map]
#align mv_polynomial.eval₂_map MvPolynomial.eval₂_map
+/- warning: mv_polynomial.eval₂_hom_map_hom -> MvPolynomial.eval₂Hom_map_hom is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {S₁ : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u4}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : CommSemiring.{u3} S₂] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : σ -> S₂) (φ : RingHom.{u2, u3} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))) (p : MvPolynomial.{u4, u1} σ R _inst_1), Eq.{succ u3} S₂ (coeFn.{max (succ (max u4 u2)) (succ u3), max (succ (max u4 u2)) (succ u3)} (RingHom.{max u4 u2, u3} (MvPolynomial.{u4, u2} σ S₁ _inst_2) S₂ (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))) (fun (_x : RingHom.{max u4 u2, u3} (MvPolynomial.{u4, u2} σ S₁ _inst_2) S₂ (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))) => (MvPolynomial.{u4, u2} σ S₁ _inst_2) -> S₂) (RingHom.hasCoeToFun.{max u4 u2, u3} (MvPolynomial.{u4, u2} σ S₁ _inst_2) S₂ (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))) (MvPolynomial.eval₂Hom.{u2, u3, u4} S₁ S₂ σ _inst_2 _inst_3 φ g) (coeFn.{max (succ (max u4 u1)) (succ (max u4 u2)), max (succ (max u4 u1)) (succ (max u4 u2))} (RingHom.{max u4 u1, max u4 u2} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.{u4, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ σ _inst_2)))) (fun (_x : RingHom.{max u4 u1, max u4 u2} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.{u4, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ σ _inst_2)))) => (MvPolynomial.{u4, u1} σ R _inst_1) -> (MvPolynomial.{u4, u2} σ S₁ _inst_2)) (RingHom.hasCoeToFun.{max u4 u1, max u4 u2} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.{u4, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ σ _inst_2)))) (MvPolynomial.map.{u1, u2, u4} R S₁ σ _inst_1 _inst_2 f) p)) (coeFn.{max (succ (max u4 u1)) (succ u3), max (succ (max u4 u1)) (succ u3)} (RingHom.{max u4 u1, u3} (MvPolynomial.{u4, u1} σ R _inst_1) S₂ (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))) (fun (_x : RingHom.{max u4 u1, u3} (MvPolynomial.{u4, u1} σ R _inst_1) S₂ (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))) => (MvPolynomial.{u4, u1} σ R _inst_1) -> S₂) (RingHom.hasCoeToFun.{max u4 u1, u3} (MvPolynomial.{u4, u1} σ R _inst_1) S₂ (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))) (MvPolynomial.eval₂Hom.{u1, u3, u4} R S₂ σ _inst_1 _inst_3 (RingHom.comp.{u1, u2, u3} R S₁ S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3)) φ f) g) p)
+but is expected to have type
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {S₂ : Type.{u4}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : CommSemiring.{u4} S₂] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : σ -> S₂) (φ : RingHom.{u3, u4} S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₂) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (fun (a : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f) p)) (FunLike.coe.{max (max (succ u3) (succ u4)) (succ u1), max (succ u3) (succ u1), succ u4} (RingHom.{max u3 u1, u4} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₂ (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))) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (fun (_x : MvPolynomial.{u1, u3} σ S₁ _inst_2) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₂) _x) (MulHomClass.toFunLike.{max (max u3 u4) u1, max u3 u1, u4} (RingHom.{max u3 u1, u4} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₂ (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))) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₂ (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))))) (NonUnitalNonAssocSemiring.toMul.{u4} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₂ (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u3 u4) u1, max u3 u1, u4} (RingHom.{max u3 u1, u4} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₂ (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))) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₂ (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)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₂ (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max (max u3 u4) u1, max u3 u1, u4} (RingHom.{max u3 u1, u4} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₂ (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))) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₂ (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))) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)) (RingHom.instRingHomClassRingHom.{max u3 u1, u4} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₂ (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))) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)))))) (MvPolynomial.eval₂Hom.{u3, u4, u1} S₁ S₂ σ _inst_2 _inst_3 φ g) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, 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) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f) p)) (FunLike.coe.{max (max (succ u2) (succ u4)) (succ u1), max (succ u2) (succ u1), 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_3))) (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 u2 u4) u1, max u2 u1, 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_3))) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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_3)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u4) u1, max u2 u1, 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_3))) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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_3))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u4) u1, max u2 u1, 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_3))) (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_3)) (RingHom.instRingHomClassRingHom.{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_3)))))) (MvPolynomial.eval₂Hom.{u2, u4, u1} R S₂ σ _inst_1 _inst_3 (RingHom.comp.{u2, u3, u4} R S₁ S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)) φ f) g) p)
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_hom_map_hom MvPolynomial.eval₂Hom_map_homₓ'. -/
@[simp]
theorem eval₂Hom_map_hom [CommSemiring S₂] (f : R →+* S₁) (g : σ → S₂) (φ : S₁ →+* S₂)
(p : MvPolynomial σ R) : eval₂Hom φ g (map f p) = eval₂Hom (φ.comp f) g p :=
eval₂_map f g φ p
#align mv_polynomial.eval₂_hom_map_hom MvPolynomial.eval₂Hom_map_hom
+/- warning: mv_polynomial.constant_coeff_map -> MvPolynomial.constantCoeff_map is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (φ : MvPolynomial.{u3, u1} σ R _inst_1), Eq.{succ u2} S₁ (coeFn.{max (succ (max u3 u2)) (succ u2), max (succ (max u3 u2)) (succ u2)} (RingHom.{max u3 u2, u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{max u3 u2, u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => (MvPolynomial.{u3, u2} σ S₁ _inst_2) -> S₁) (RingHom.hasCoeToFun.{max u3 u2, u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) S₁ (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (MvPolynomial.constantCoeff.{u2, u3} S₁ σ _inst_2) (coeFn.{max (succ (max u3 u1)) (succ (max u3 u2)), max (succ (max u3 u1)) (succ (max u3 u2))} (RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (fun (_x : RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> (MvPolynomial.{u3, u2} σ S₁ _inst_2)) (RingHom.hasCoeToFun.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (MvPolynomial.map.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f) φ)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) f (coeFn.{max (succ (max u3 u1)) (succ u1), max (succ (max u3 u1)) (succ u1)} (RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.constantCoeff.{u1, u3} R σ _inst_1) φ))
+but is expected to have type
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (φ : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (fun (a : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) a) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f) φ)) (FunLike.coe.{max (succ u1) (succ u3), max (succ u1) (succ u3), succ u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (fun (_x : MvPolynomial.{u1, u3} σ S₁ _inst_2) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ S₁ _inst_2) => S₁) _x) (MulHomClass.toFunLike.{max u1 u3, max u1 u3, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (NonUnitalNonAssocSemiring.toMul.{max u1 u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (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))))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u3, max u1 u3, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (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)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u3, max u1 u3, u3} (RingHom.{max u3 u1, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{max u1 u3, u3} (MvPolynomial.{u1, u3} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (MvPolynomial.constantCoeff.{u3, u1} S₁ σ _inst_2) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, 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) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f) φ)) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (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) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) φ))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.constant_coeff_map MvPolynomial.constantCoeff_mapₓ'. -/
@[simp]
theorem constantCoeff_map (f : R →+* S₁) (φ : MvPolynomial σ R) :
constantCoeff (MvPolynomial.map f φ) = f (constantCoeff φ) :=
coeff_map f φ 0
#align mv_polynomial.constant_coeff_map MvPolynomial.constantCoeff_map
+/- warning: mv_polynomial.constant_coeff_comp_map -> MvPolynomial.constantCoeff_comp_map is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))), Eq.{max (succ (max u3 u1)) (succ u2)} (RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (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))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (RingHom.comp.{max u3 u1, max u3 u2, u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) S₁ (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (MvPolynomial.constantCoeff.{u2, u3} S₁ σ _inst_2) (MvPolynomial.map.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f)) (RingHom.comp.{max u3 u1, u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) R S₁ (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) f (MvPolynomial.constantCoeff.{u1, u3} R σ _inst_1))
+but is expected to have type
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))), Eq.{max (max (succ u2) (succ u3)) (succ u1)} (RingHom.{max u1 u2, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHom.comp.{max u1 u2, max u3 u1, u3} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) 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.{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))) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (MvPolynomial.constantCoeff.{u3, u1} S₁ σ _inst_2) (MvPolynomial.map.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f)) (RingHom.comp.{max u1 u2, u2, u3} (MvPolynomial.{u1, u2} σ R _inst_1) R 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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) f (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.constant_coeff_comp_map MvPolynomial.constantCoeff_comp_mapₓ'. -/
theorem constantCoeff_comp_map (f : R →+* S₁) :
(constantCoeff : MvPolynomial σ S₁ →+* S₁).comp (MvPolynomial.map f) = f.comp constantCoeff :=
by ext <;> simp
#align mv_polynomial.constant_coeff_comp_map MvPolynomial.constantCoeff_comp_map
+/- warning: mv_polynomial.support_map_subset -> MvPolynomial.support_map_subset is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (p : MvPolynomial.{u3, u1} σ R _inst_1), HasSubset.Subset.{u3} (Finset.{u3} (Finsupp.{u3, 0} σ Nat Nat.hasZero)) (Finset.hasSubset.{u3} (Finsupp.{u3, 0} σ Nat Nat.hasZero)) (MvPolynomial.support.{u2, u3} S₁ σ _inst_2 (coeFn.{max (succ (max u3 u1)) (succ (max u3 u2)), max (succ (max u3 u1)) (succ (max u3 u2))} (RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (fun (_x : RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> (MvPolynomial.{u3, u2} σ S₁ _inst_2)) (RingHom.hasCoeToFun.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (MvPolynomial.map.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f) p)) (MvPolynomial.support.{u1, u3} R σ _inst_1 p)
+but is expected to have type
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (p : MvPolynomial.{u1, u2} σ R _inst_1), HasSubset.Subset.{u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (Finset.instHasSubsetFinset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.support.{u3, u1} S₁ σ _inst_2 (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, 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) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f) p)) (MvPolynomial.support.{u2, u1} R σ _inst_1 p)
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.support_map_subset MvPolynomial.support_map_subsetₓ'. -/
theorem support_map_subset (p : MvPolynomial σ R) : (map f p).support ⊆ p.support :=
by
intro x
@@ -1318,6 +2330,12 @@ theorem support_map_subset (p : MvPolynomial σ R) : (map f p).support ⊆ p.sup
exact RingHom.map_zero f
#align mv_polynomial.support_map_subset MvPolynomial.support_map_subset
+/- warning: mv_polynomial.support_map_of_injective -> MvPolynomial.support_map_of_injective is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (p : MvPolynomial.{u3, u1} σ R _inst_1) {f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))}, (Function.Injective.{succ u1, succ u2} R S₁ (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) f)) -> (Eq.{succ u3} (Finset.{u3} (Finsupp.{u3, 0} σ Nat Nat.hasZero)) (MvPolynomial.support.{u2, u3} S₁ σ _inst_2 (coeFn.{max (succ (max u3 u1)) (succ (max u3 u2)), max (succ (max u3 u1)) (succ (max u3 u2))} (RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (fun (_x : RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> (MvPolynomial.{u3, u2} σ S₁ _inst_2)) (RingHom.hasCoeToFun.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (MvPolynomial.map.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f) p)) (MvPolynomial.support.{u1, u3} R σ _inst_1 p))
+but is expected to have type
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (p : MvPolynomial.{u1, u2} σ R _inst_1) {f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))}, (Function.Injective.{succ u2, succ u3} R S₁ (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f)) -> (Eq.{succ u1} (Finset.{u1} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.support.{u3, u1} S₁ σ _inst_2 (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, 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) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f) p)) (MvPolynomial.support.{u2, u1} R σ _inst_1 p))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.support_map_of_injective MvPolynomial.support_map_of_injectiveₓ'. -/
theorem support_map_of_injective (p : MvPolynomial σ R) {f : R →+* S₁} (hf : Injective f) :
(map f p).support = p.support :=
by
@@ -1332,13 +2350,25 @@ theorem support_map_of_injective (p : MvPolynomial σ R) {f : R →+* S₁} (hf
exact hf hx
#align mv_polynomial.support_map_of_injective MvPolynomial.support_map_of_injective
-theorem c_dvd_iff_map_hom_eq_zero (q : R →+* S₁) (r : R) (hr : ∀ r' : R, q r' = 0 ↔ r ∣ r')
- (φ : MvPolynomial σ R) : c r ∣ φ ↔ map q φ = 0 :=
+/- warning: mv_polynomial.C_dvd_iff_map_hom_eq_zero -> MvPolynomial.C_dvd_iff_map_hom_eq_zero is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (q : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (r : R), (forall (r' : R), Iff (Eq.{succ u2} S₁ (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) q r') (OfNat.ofNat.{u2} S₁ 0 (OfNat.mk.{u2} S₁ 0 (Zero.zero.{u2} S₁ (MulZeroClass.toHasZero.{u2} S₁ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))))))))) (Dvd.Dvd.{u1} R (semigroupDvd.{u1} R (SemigroupWithZero.toSemigroup.{u1} R (NonUnitalSemiring.toSemigroupWithZero.{u1} R (NonUnitalCommSemiring.toNonUnitalSemiring.{u1} R (CommSemiring.toNonUnitalCommSemiring.{u1} R _inst_1))))) r r')) -> (forall (φ : MvPolynomial.{u3, u1} σ R _inst_1), Iff (Dvd.Dvd.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (semigroupDvd.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (SemigroupWithZero.toSemigroup.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (NonUnitalSemiring.toSemigroupWithZero.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (NonUnitalCommSemiring.toNonUnitalSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (CommSemiring.toNonUnitalCommSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)))))) (coeFn.{max (succ u1) (succ (max u3 u1)), max (succ u1) (succ (max u3 u1))} (RingHom.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u3, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u3} R σ _inst_1) r) φ) (Eq.{max (succ u3) (succ u2)} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (coeFn.{max (succ (max u3 u1)) (succ (max u3 u2)), max (succ (max u3 u1)) (succ (max u3 u2))} (RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (fun (_x : RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> (MvPolynomial.{u3, u2} σ S₁ _inst_2)) (RingHom.hasCoeToFun.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (MvPolynomial.map.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 q) φ) (OfNat.ofNat.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) 0 (OfNat.mk.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) 0 (Zero.zero.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MulZeroClass.toHasZero.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMulZeroClass.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))))))))))
+but is expected to have type
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (q : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (r : R), (forall (r' : R), Iff (Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r') (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) q r') (OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r') 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r') (CommMonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r') (CommSemiring.toCommMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r') _inst_2))))) (Dvd.dvd.{u2} R (semigroupDvd.{u2} R (SemigroupWithZero.toSemigroup.{u2} R (NonUnitalSemiring.toSemigroupWithZero.{u2} R (NonUnitalCommSemiring.toNonUnitalSemiring.{u2} R (CommSemiring.toNonUnitalCommSemiring.{u2} R _inst_1))))) r r')) -> (forall (φ : MvPolynomial.{u1, u2} σ R _inst_1), Iff (Dvd.dvd.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (semigroupDvd.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (SemigroupWithZero.toSemigroup.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (NonUnitalSemiring.toSemigroupWithZero.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (NonUnitalCommSemiring.toNonUnitalSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (CommSemiring.toNonUnitalCommSemiring.{max u2 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) r) (MvPolynomial.commSemiring.{u2, u1} 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 (_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) φ) (Eq.{max (succ u3) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) φ) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, 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) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 q) φ) (OfNat.ofNat.{max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) φ) 0 (Zero.toOfNat0.{max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) φ) (CommMonoidWithZero.toZero.{max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) φ) (CommSemiring.toCommMonoidWithZero.{max u3 u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) φ) (MvPolynomial.commSemiring.{u3, u1} S₁ σ _inst_2)))))))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.C_dvd_iff_map_hom_eq_zero MvPolynomial.C_dvd_iff_map_hom_eq_zeroₓ'. -/
+theorem C_dvd_iff_map_hom_eq_zero (q : R →+* S₁) (r : R) (hr : ∀ r' : R, q r' = 0 ↔ r ∣ r')
+ (φ : MvPolynomial σ R) : C r ∣ φ ↔ map q φ = 0 :=
by
rw [C_dvd_iff_dvd_coeff, MvPolynomial.ext_iff]
simp only [coeff_map, coeff_zero, hr]
-#align mv_polynomial.C_dvd_iff_map_hom_eq_zero MvPolynomial.c_dvd_iff_map_hom_eq_zero
-
+#align mv_polynomial.C_dvd_iff_map_hom_eq_zero MvPolynomial.C_dvd_iff_map_hom_eq_zero
+
+/- warning: mv_polynomial.map_map_range_eq_iff -> MvPolynomial.map_mapRange_eq_iff is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] (f : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (g : S₁ -> R) (hg : Eq.{succ u1} R (g (OfNat.ofNat.{u2} S₁ 0 (OfNat.mk.{u2} S₁ 0 (Zero.zero.{u2} S₁ (MulZeroClass.toHasZero.{u2} S₁ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))))))))) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) (φ : MvPolynomial.{u3, u2} σ S₁ _inst_2), Iff (Eq.{max (succ u3) (succ u2)} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (coeFn.{max (succ (max u3 u1)) (succ (max u3 u2)), max (succ (max u3 u1)) (succ (max u3 u2))} (RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (fun (_x : RingHom.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> (MvPolynomial.{u3, u2} σ S₁ _inst_2)) (RingHom.hasCoeToFun.{max u3 u1, max u3 u2} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u3, u2} σ S₁ _inst_2) (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))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)))) (MvPolynomial.map.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 f) (Finsupp.mapRange.{u3, u2, u1} (Finsupp.{u3, 0} σ Nat Nat.hasZero) S₁ R (MulZeroClass.toHasZero.{u2} S₁ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))))) (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) g hg φ)) φ) (forall (d : Finsupp.{u3, 0} σ Nat Nat.hasZero), Eq.{succ u2} S₁ (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) f (g (MvPolynomial.coeff.{u2, u3} S₁ σ _inst_2 d φ))) (MvPolynomial.coeff.{u2, u3} S₁ σ _inst_2 d φ))
+but is expected to have type
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] (f : RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (g : S₁ -> R) (hg : Eq.{succ u2} R (g (OfNat.ofNat.{u3} S₁ 0 (Zero.toOfNat0.{u3} S₁ (CommMonoidWithZero.toZero.{u3} S₁ (CommSemiring.toCommMonoidWithZero.{u3} S₁ _inst_2))))) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) (φ : MvPolynomial.{u1, u3} σ S₁ _inst_2), Iff (Eq.{max (succ u3) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u3} σ S₁ _inst_2) (Finsupp.mapRange.{u1, u3, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) S₁ R (CommMonoidWithZero.toZero.{u3} S₁ (CommSemiring.toCommMonoidWithZero.{u3} S₁ _inst_2)) (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) g hg φ)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, 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) => MvPolynomial.{u1, u3} σ S₁ _inst_2) _x) (MulHomClass.toFunLike.{max (max u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{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 u2 u3) u1, max u2 u1, max u3 u1} (RingHom.{max u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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 u2 u1, max u3 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (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.{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.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 f) (Finsupp.mapRange.{u1, u3, u2} (Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) S₁ R (CommMonoidWithZero.toZero.{u3} S₁ (CommSemiring.toCommMonoidWithZero.{u3} S₁ _inst_2)) (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) g hg φ)) φ) (forall (d : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) (g (MvPolynomial.coeff.{u3, u1} S₁ σ _inst_2 d φ))) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) f (g (MvPolynomial.coeff.{u3, u1} S₁ σ _inst_2 d φ))) (MvPolynomial.coeff.{u3, u1} S₁ σ _inst_2 d φ))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.map_map_range_eq_iff MvPolynomial.map_mapRange_eq_iffₓ'. -/
theorem map_mapRange_eq_iff (f : R →+* S₁) (g : S₁ → R) (hg : g 0 = 0) (φ : MvPolynomial σ S₁) :
map f (Finsupp.mapRange g hg φ) = φ ↔ ∀ d, f (g (coeff d φ)) = coeff d φ :=
by
@@ -1349,6 +2379,7 @@ theorem map_mapRange_eq_iff (f : R →+* S₁) (g : S₁ → R) (hg : g 0 = 0) (
rfl
#align mv_polynomial.map_map_range_eq_iff MvPolynomial.map_mapRange_eq_iff
+#print MvPolynomial.mapAlgHom /-
/-- If `f : S₁ →ₐ[R] S₂` is a morphism of `R`-algebras, then so is `mv_polynomial.map f`. -/
@[simps]
def mapAlgHom [CommSemiring S₂] [Algebra R S₁] [Algebra R S₂] (f : S₁ →ₐ[R] S₂) :
@@ -1361,13 +2392,26 @@ def mapAlgHom [CommSemiring S₂] [Algebra R S₁] [Algebra R S₂] (f : S₁
have h₂ : algebraMap R (MvPolynomial σ S₂) r = C (algebraMap R S₂ r) := rfl
rw [h₁, h₂, map, eval₂_hom_C, RingHom.comp_apply, AlgHom.coe_toRingHom, AlgHom.commutes] }
#align mv_polynomial.map_alg_hom MvPolynomial.mapAlgHom
+-/
+/- warning: mv_polynomial.map_alg_hom_id -> MvPolynomial.mapAlgHom_id is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : Algebra.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2)], Eq.{succ (max u3 u2)} (AlgHom.{u1, max u3 u2, max u3 u2} R (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.{u3, u2} σ S₁ _inst_2) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)) (MvPolynomial.algebra.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 _inst_3) (MvPolynomial.algebra.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 _inst_3)) (MvPolynomial.mapAlgHom.{u1, u2, u2, u3} R S₁ S₁ σ _inst_1 _inst_2 _inst_2 _inst_3 _inst_3 (AlgHom.id.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) _inst_3)) (AlgHom.id.{u1, max u3 u2} R (MvPolynomial.{u3, u2} σ S₁ _inst_2) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u3} S₁ σ _inst_2)) (MvPolynomial.algebra.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 _inst_3))
+but is expected to have type
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : Algebra.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2)], Eq.{max (succ u3) (succ u1)} (AlgHom.{u2, max u3 u1, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u3} σ S₁ _inst_2) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u3, u1} S₁ σ _inst_2)) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u3, u1} S₁ σ _inst_2)) (MvPolynomial.algebra.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_3) (MvPolynomial.algebra.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_3)) (MvPolynomial.mapAlgHom.{u2, u3, u3, u1} R S₁ S₁ σ _inst_1 _inst_2 _inst_2 _inst_3 _inst_3 (AlgHom.id.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (AlgHom.id.{u2, max u3 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u3, u1} S₁ σ _inst_2)) (MvPolynomial.algebra.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_3))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.map_alg_hom_id MvPolynomial.mapAlgHom_idₓ'. -/
@[simp]
theorem mapAlgHom_id [Algebra R S₁] :
mapAlgHom (AlgHom.id R S₁) = AlgHom.id R (MvPolynomial σ S₁) :=
AlgHom.ext map_id
#align mv_polynomial.map_alg_hom_id MvPolynomial.mapAlgHom_id
+/- warning: mv_polynomial.map_alg_hom_coe_ring_hom -> MvPolynomial.mapAlgHom_coe_ringHom is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {S₁ : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u4}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : CommSemiring.{u3} S₂] [_inst_4 : Algebra.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2)] [_inst_5 : Algebra.{u1, u3} R S₂ _inst_1 (CommSemiring.toSemiring.{u3} S₂ _inst_3)] (f : AlgHom.{u1, u2, u3} R S₁ S₂ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) (CommSemiring.toSemiring.{u3} S₂ _inst_3) _inst_4 _inst_5), Eq.{max (succ (max u4 u2)) (succ (max u4 u3))} (RingHom.{max u4 u2, max u4 u3} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.{u4, u3} σ S₂ _inst_3) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u3, u4} S₂ σ _inst_3)))) ((fun (a : Sort.{max (succ (max u4 u2)) (succ (max u4 u3))}) (b : Sort.{max (succ (max u4 u2)) (succ (max u4 u3))}) [self : HasLiftT.{max (succ (max u4 u2)) (succ (max u4 u3)), max (succ (max u4 u2)) (succ (max u4 u3))} a b] => self.0) (AlgHom.{u1, max u4 u2, max u4 u3} R (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.{u4, u3} σ S₂ _inst_3) _inst_1 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ σ _inst_2)) (CommSemiring.toSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u3, u4} S₂ σ _inst_3)) (MvPolynomial.algebra.{u1, u2, u4} R S₁ σ _inst_1 _inst_2 _inst_4) (MvPolynomial.algebra.{u1, u3, u4} R S₂ σ _inst_1 _inst_3 _inst_5)) (RingHom.{max u4 u2, max u4 u3} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.{u4, u3} σ S₂ _inst_3) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u3, u4} S₂ σ _inst_3)))) (HasLiftT.mk.{max (succ (max u4 u2)) (succ (max u4 u3)), max (succ (max u4 u2)) (succ (max u4 u3))} (AlgHom.{u1, max u4 u2, max u4 u3} R (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.{u4, u3} σ S₂ _inst_3) _inst_1 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ σ _inst_2)) (CommSemiring.toSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u3, u4} S₂ σ _inst_3)) (MvPolynomial.algebra.{u1, u2, u4} R S₁ σ _inst_1 _inst_2 _inst_4) (MvPolynomial.algebra.{u1, u3, u4} R S₂ σ _inst_1 _inst_3 _inst_5)) (RingHom.{max u4 u2, max u4 u3} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.{u4, u3} σ S₂ _inst_3) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u3, u4} S₂ σ _inst_3)))) (CoeTCₓ.coe.{max (succ (max u4 u2)) (succ (max u4 u3)), max (succ (max u4 u2)) (succ (max u4 u3))} (AlgHom.{u1, max u4 u2, max u4 u3} R (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.{u4, u3} σ S₂ _inst_3) _inst_1 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ σ _inst_2)) (CommSemiring.toSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u3, u4} S₂ σ _inst_3)) (MvPolynomial.algebra.{u1, u2, u4} R S₁ σ _inst_1 _inst_2 _inst_4) (MvPolynomial.algebra.{u1, u3, u4} R S₂ σ _inst_1 _inst_3 _inst_5)) (RingHom.{max u4 u2, max u4 u3} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.{u4, u3} σ S₂ _inst_3) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u3, u4} S₂ σ _inst_3)))) (RingHom.hasCoeT.{max (max u4 u2) u4 u3, max u4 u2, max u4 u3} (AlgHom.{u1, max u4 u2, max u4 u3} R (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.{u4, u3} σ S₂ _inst_3) _inst_1 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ σ _inst_2)) (CommSemiring.toSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u3, u4} S₂ σ _inst_3)) (MvPolynomial.algebra.{u1, u2, u4} R S₁ σ _inst_1 _inst_2 _inst_4) (MvPolynomial.algebra.{u1, u3, u4} R S₂ σ _inst_1 _inst_3 _inst_5)) (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.{u4, u3} σ S₂ _inst_3) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ σ _inst_2))) (Semiring.toNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u3, u4} S₂ σ _inst_3))) (AlgHomClass.toRingHomClass.{max (max u4 u2) u4 u3, u1, max u4 u2, max u4 u3} (AlgHom.{u1, max u4 u2, max u4 u3} R (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.{u4, u3} σ S₂ _inst_3) _inst_1 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ σ _inst_2)) (CommSemiring.toSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u3, u4} S₂ σ _inst_3)) (MvPolynomial.algebra.{u1, u2, u4} R S₁ σ _inst_1 _inst_2 _inst_4) (MvPolynomial.algebra.{u1, u3, u4} R S₂ σ _inst_1 _inst_3 _inst_5)) R (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.{u4, u3} σ S₂ _inst_3) _inst_1 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ σ _inst_2)) (CommSemiring.toSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u3, u4} S₂ σ _inst_3)) (MvPolynomial.algebra.{u1, u2, u4} R S₁ σ _inst_1 _inst_2 _inst_4) (MvPolynomial.algebra.{u1, u3, u4} R S₂ σ _inst_1 _inst_3 _inst_5) (AlgHom.algHomClass.{u1, max u4 u2, max u4 u3} R (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.{u4, u3} σ S₂ _inst_3) _inst_1 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u2, u4} S₁ σ _inst_2)) (CommSemiring.toSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u3, u4} S₂ σ _inst_3)) (MvPolynomial.algebra.{u1, u2, u4} R S₁ σ _inst_1 _inst_2 _inst_4) (MvPolynomial.algebra.{u1, u3, u4} R S₂ σ _inst_1 _inst_3 _inst_5)))))) (MvPolynomial.mapAlgHom.{u1, u2, u3, u4} R S₁ S₂ σ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 f)) (MvPolynomial.map.{u2, u3, u4} S₁ S₂ σ _inst_2 _inst_3 ((fun (a : Sort.{max (succ u2) (succ u3)}) (b : Sort.{max (succ u2) (succ u3)}) [self : HasLiftT.{max (succ u2) (succ u3), max (succ u2) (succ u3)} a b] => self.0) (AlgHom.{u1, u2, u3} R S₁ S₂ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) (CommSemiring.toSemiring.{u3} S₂ _inst_3) _inst_4 _inst_5) (RingHom.{u2, u3} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))) (HasLiftT.mk.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (AlgHom.{u1, u2, u3} R S₁ S₂ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) (CommSemiring.toSemiring.{u3} S₂ _inst_3) _inst_4 _inst_5) (RingHom.{u2, u3} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))) (CoeTCₓ.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (AlgHom.{u1, u2, u3} R S₁ S₂ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) (CommSemiring.toSemiring.{u3} S₂ _inst_3) _inst_4 _inst_5) (RingHom.{u2, u3} S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3))) (RingHom.hasCoeT.{max u2 u3, u2, u3} (AlgHom.{u1, u2, u3} R S₁ S₂ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) (CommSemiring.toSemiring.{u3} S₂ _inst_3) _inst_4 _inst_5) S₁ S₂ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_3)) (AlgHomClass.toRingHomClass.{max u2 u3, u1, u2, u3} (AlgHom.{u1, u2, u3} R S₁ S₂ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) (CommSemiring.toSemiring.{u3} S₂ _inst_3) _inst_4 _inst_5) R S₁ S₂ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) (CommSemiring.toSemiring.{u3} S₂ _inst_3) _inst_4 _inst_5 (AlgHom.algHomClass.{u1, u2, u3} R S₁ S₂ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) (CommSemiring.toSemiring.{u3} S₂ _inst_3) _inst_4 _inst_5))))) f))
+but is expected to have type
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {S₂ : Type.{u4}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : CommSemiring.{u4} S₂] [_inst_4 : Algebra.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2)] [_inst_5 : Algebra.{u2, u4} R S₂ _inst_1 (CommSemiring.toSemiring.{u4} S₂ _inst_3)] (f : AlgHom.{u2, u3, u4} R S₁ S₂ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) (CommSemiring.toSemiring.{u4} S₂ _inst_3) _inst_4 _inst_5), Eq.{max (max (succ u3) (succ u4)) (succ u1)} (RingHom.{max u3 u1, max u4 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u4} σ S₂ _inst_3) (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))) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3)))) (RingHomClass.toRingHom.{max (max u3 u4) u1, max u3 u1, max u4 u1} (AlgHom.{u2, max u3 u1, max u4 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u4} σ S₂ _inst_3) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u3, u1} S₁ σ _inst_2)) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3)) (MvPolynomial.algebra.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_4) (MvPolynomial.algebra.{u2, u4, u1} R S₂ σ _inst_1 _inst_3 _inst_5)) (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u4} σ S₂ _inst_3) (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))) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3))) (AlgHomClass.toRingHomClass.{max (max u3 u4) u1, u2, max u3 u1, max u4 u1} (AlgHom.{u2, max u3 u1, max u4 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u4} σ S₂ _inst_3) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u3, u1} S₁ σ _inst_2)) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3)) (MvPolynomial.algebra.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_4) (MvPolynomial.algebra.{u2, u4, u1} R S₂ σ _inst_1 _inst_3 _inst_5)) R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u4} σ S₂ _inst_3) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u3, u1} S₁ σ _inst_2)) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3)) (MvPolynomial.algebra.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_4) (MvPolynomial.algebra.{u2, u4, u1} R S₂ σ _inst_1 _inst_3 _inst_5) (AlgHom.algHomClass.{u2, max u3 u1, max u4 u1} R (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.{u1, u4} σ S₂ _inst_3) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ S₁ _inst_2) (MvPolynomial.commSemiring.{u3, u1} S₁ σ _inst_2)) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ S₂ _inst_3) (MvPolynomial.commSemiring.{u4, u1} S₂ σ _inst_3)) (MvPolynomial.algebra.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_4) (MvPolynomial.algebra.{u2, u4, u1} R S₂ σ _inst_1 _inst_3 _inst_5))) (MvPolynomial.mapAlgHom.{u2, u3, u4, u1} R S₁ S₂ σ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 f)) (MvPolynomial.map.{u3, u4, u1} S₁ S₂ σ _inst_2 _inst_3 (RingHomClass.toRingHom.{max u3 u4, u3, u4} (AlgHom.{u2, u3, u4} R S₁ S₂ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) (CommSemiring.toSemiring.{u4} S₂ _inst_3) _inst_4 _inst_5) S₁ S₂ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} S₂ (CommSemiring.toSemiring.{u4} S₂ _inst_3)) (AlgHomClass.toRingHomClass.{max u3 u4, u2, u3, u4} (AlgHom.{u2, u3, u4} R S₁ S₂ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) (CommSemiring.toSemiring.{u4} S₂ _inst_3) _inst_4 _inst_5) R S₁ S₂ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) (CommSemiring.toSemiring.{u4} S₂ _inst_3) _inst_4 _inst_5 (AlgHom.algHomClass.{u2, u3, u4} R S₁ S₂ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) (CommSemiring.toSemiring.{u4} S₂ _inst_3) _inst_4 _inst_5)) f))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.map_alg_hom_coe_ring_hom MvPolynomial.mapAlgHom_coe_ringHomₓ'. -/
@[simp]
theorem mapAlgHom_coe_ringHom [CommSemiring S₂] [Algebra R S₁] [Algebra R S₂] (f : S₁ →ₐ[R] S₂) :
↑(mapAlgHom f : _ →ₐ[R] MvPolynomial σ S₂) =
@@ -1386,44 +2430,94 @@ variable [Algebra R S₁] [CommSemiring S₂]
variable (f : σ → S₁)
+#print MvPolynomial.aeval /-
/-- A map `σ → S₁` where `S₁` is an algebra over `R` generates an `R`-algebra homomorphism
from multivariate polynomials over `σ` to `S₁`. -/
def aeval : MvPolynomial σ R →ₐ[R] S₁ :=
- { eval₂Hom (algebraMap R S₁) f with commutes' := fun r => eval₂_c _ _ _ }
+ { eval₂Hom (algebraMap R S₁) f with commutes' := fun r => eval₂_C _ _ _ }
#align mv_polynomial.aeval MvPolynomial.aeval
+-/
+/- warning: mv_polynomial.aeval_def -> MvPolynomial.aeval_def is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : Algebra.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2)] (f : σ -> S₁) (p : MvPolynomial.{u3, u1} σ R _inst_1), Eq.{succ u2} S₁ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (fun (_x : AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) ([anonymous].{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (MvPolynomial.aeval.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 _inst_3 f) p) (MvPolynomial.eval₂.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 (algebraMap.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) _inst_3) f p)
+but is expected to have type
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : Algebra.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2)] (f : σ -> S₁) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) p) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u1) (succ u2), succ u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (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) => S₁) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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, 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.{u2, 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.{u2, u3} R S₁ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{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.{u2, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, 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.{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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u1 u2, u3, max (max u3 u1) u2} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3 (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (AlgHom.algHomClass.{u2, max u1 u2, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3))))) (MvPolynomial.aeval.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_3 f) p) (MvPolynomial.eval₂.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 (algebraMap.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3) f p)
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_def MvPolynomial.aeval_defₓ'. -/
theorem aeval_def (p : MvPolynomial σ R) : aeval f p = eval₂ (algebraMap R S₁) f p :=
rfl
#align mv_polynomial.aeval_def MvPolynomial.aeval_def
+/- warning: mv_polynomial.aeval_eq_eval₂_hom -> MvPolynomial.aeval_eq_eval₂Hom is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : Algebra.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2)] (f : σ -> S₁) (p : MvPolynomial.{u3, u1} σ R _inst_1), Eq.{succ u2} S₁ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (fun (_x : AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) ([anonymous].{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (MvPolynomial.aeval.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 _inst_3 f) p) (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (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))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (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))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) (RingHom.hasCoeToFun.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (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))) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (MvPolynomial.eval₂Hom.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 (algebraMap.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) _inst_3) f) p)
+but is expected to have type
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : Algebra.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2)] (f : σ -> S₁) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) p) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u1) (succ u2), succ u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (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) => S₁) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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, 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.{u2, 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.{u2, u3} R S₁ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{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.{u2, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, 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.{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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u1 u2, u3, max (max u3 u1) u2} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3 (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (AlgHom.algHomClass.{u2, max u1 u2, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3))))) (MvPolynomial.aeval.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_3 f) p) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} 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 u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} 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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 (algebraMap.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3) f) p)
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_eq_eval₂_hom MvPolynomial.aeval_eq_eval₂Homₓ'. -/
theorem aeval_eq_eval₂Hom (p : MvPolynomial σ R) : aeval f p = eval₂Hom (algebraMap R S₁) f p :=
rfl
#align mv_polynomial.aeval_eq_eval₂_hom MvPolynomial.aeval_eq_eval₂Hom
-@[simp]
-theorem aeval_x (s : σ) : aeval f (x s : MvPolynomial _ R) = f s :=
- eval₂_x _ _ _
-#align mv_polynomial.aeval_X MvPolynomial.aeval_x
-
-@[simp]
-theorem aeval_c (r : R) : aeval f (c r) = algebraMap R S₁ r :=
- eval₂_c _ _ _
-#align mv_polynomial.aeval_C MvPolynomial.aeval_c
-
-theorem aeval_unique (φ : MvPolynomial σ R →ₐ[R] S₁) : φ = aeval (φ ∘ x) :=
+/- warning: mv_polynomial.aeval_X -> MvPolynomial.aeval_X is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : Algebra.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2)] (f : σ -> S₁) (s : σ), Eq.{succ u2} S₁ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (fun (_x : AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) ([anonymous].{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (MvPolynomial.aeval.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 _inst_3 f) (MvPolynomial.X.{u1, u3} R σ _inst_1 s)) (f s)
+but is expected to have type
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : Algebra.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2)] (f : σ -> S₁) (s : σ), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) (MvPolynomial.X.{u2, u1} R σ _inst_1 s)) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u1) (succ u2), succ u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (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) => S₁) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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, 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.{u2, 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.{u2, u3} R S₁ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{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.{u2, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, 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.{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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u1 u2, u3, max (max u3 u1) u2} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3 (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (AlgHom.algHomClass.{u2, max u1 u2, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3))))) (MvPolynomial.aeval.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_3 f) (MvPolynomial.X.{u2, u1} R σ _inst_1 s)) (f s)
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_X MvPolynomial.aeval_Xₓ'. -/
+@[simp]
+theorem aeval_X (s : σ) : aeval f (X s : MvPolynomial _ R) = f s :=
+ eval₂_X _ _ _
+#align mv_polynomial.aeval_X MvPolynomial.aeval_X
+
+/- warning: mv_polynomial.aeval_C -> MvPolynomial.aeval_C is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : Algebra.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2)] (f : σ -> S₁) (r : R), Eq.{succ u2} S₁ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (fun (_x : AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) ([anonymous].{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (MvPolynomial.aeval.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 _inst_3 f) (coeFn.{max (succ u1) (succ (max u3 u1)), max (succ u1) (succ (max u3 u1))} (RingHom.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u3, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u3} R σ _inst_1) r)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (algebraMap.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) _inst_3) r)
+but is expected to have type
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : Algebra.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2)] (f : σ -> S₁) (r : R), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) (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 u3) (succ u1)) (succ u2), max (succ u1) (succ u2), succ u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (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) => S₁) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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, 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.{u2, 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.{u2, u3} R S₁ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{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.{u2, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, 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.{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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u1 u2, u3, max (max u3 u1) u2} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3 (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (AlgHom.algHomClass.{u2, max u1 u2, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3))))) (MvPolynomial.aeval.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_3 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 u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (algebraMap.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3) r)
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_C MvPolynomial.aeval_Cₓ'. -/
+@[simp]
+theorem aeval_C (r : R) : aeval f (C r) = algebraMap R S₁ r :=
+ eval₂_C _ _ _
+#align mv_polynomial.aeval_C MvPolynomial.aeval_C
+
+/- warning: mv_polynomial.aeval_unique -> MvPolynomial.aeval_unique is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : Algebra.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2)] (φ : AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3), Eq.{max (succ (max u3 u1)) (succ u2)} (AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) φ (MvPolynomial.aeval.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 _inst_3 (Function.comp.{succ u3, max (succ u3) (succ u1), succ u2} σ (MvPolynomial.{u3, u1} σ R _inst_1) S₁ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (fun (_x : AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) ([anonymous].{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) φ) (MvPolynomial.X.{u1, u3} R σ _inst_1)))
+but is expected to have type
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : Algebra.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2)] (φ : AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3), Eq.{max (max (succ u2) (succ u3)) (succ u1)} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) φ (MvPolynomial.aeval.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_3 (Function.comp.{succ u1, max (succ u2) (succ u1), succ u3} σ (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (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) => S₁) _x) (SMulHomClass.toFunLike.{max (max u2 u3) u1, u2, max u2 u1, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (SMulZeroClass.toSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (AddMonoid.toZero.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) (Module.toDistribMulAction.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Algebra.toModule.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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, 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.{u2, 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.{u2, u3} R S₁ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{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.{u2, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u3) u1, u2, max u2 u1, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) (AddCommMonoid.toAddMonoid.{u3} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))))) (Module.toDistribMulAction.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Algebra.toModule.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u2 u3) u1, u2, max u2 u1, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (Module.toDistribMulAction.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Algebra.toModule.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u2 u1, u3, max (max u2 u3) u1} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3 (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (AlgHom.algHomClass.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3))))) φ) (MvPolynomial.X.{u2, u1} R σ _inst_1)))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_unique MvPolynomial.aeval_uniqueₓ'. -/
+theorem aeval_unique (φ : MvPolynomial σ R →ₐ[R] S₁) : φ = aeval (φ ∘ X) :=
by
ext i
simp
#align mv_polynomial.aeval_unique MvPolynomial.aeval_unique
-theorem aeval_x_left : aeval x = AlgHom.id R (MvPolynomial σ R) :=
+/- warning: mv_polynomial.aeval_X_left -> MvPolynomial.aeval_X_left is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R], Eq.{succ (max u2 u1)} (AlgHom.{u1, max u2 u1, max u2 u1} 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.aeval.{u1, max u2 u1, u2} R (MvPolynomial.{u2, u1} σ R _inst_1) σ _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.X.{u1, u2} R σ _inst_1)) (AlgHom.id.{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)))
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} (AlgHom.{u2, max u2 u1, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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.aeval.{u2, max u1 u2, u1} R (MvPolynomial.{u1, u2} σ R _inst_1) σ _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.X.{u2, u1} R σ _inst_1)) (AlgHom.id.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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)))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_X_left MvPolynomial.aeval_X_leftₓ'. -/
+theorem aeval_X_left : aeval X = AlgHom.id R (MvPolynomial σ R) :=
(aeval_unique (AlgHom.id R _)).symm
-#align mv_polynomial.aeval_X_left MvPolynomial.aeval_x_left
-
-theorem aeval_x_left_apply (p : MvPolynomial σ R) : aeval x p = p :=
- AlgHom.congr_fun aeval_x_left p
-#align mv_polynomial.aeval_X_left_apply MvPolynomial.aeval_x_left_apply
-
+#align mv_polynomial.aeval_X_left MvPolynomial.aeval_X_left
+
+/- warning: mv_polynomial.aeval_X_left_apply -> MvPolynomial.aeval_X_left_apply is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] (p : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) (coeFn.{succ (max u2 u1), succ (max u2 u1)} (AlgHom.{u1, max u2 u1, max u2 u1} 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))) (fun (_x : AlgHom.{u1, max u2 u1, max u2 u1} 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) -> (MvPolynomial.{u2, u1} σ R _inst_1)) ([anonymous].{u1, max u2 u1, max u2 u1} 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.aeval.{u1, max u2 u1, u2} R (MvPolynomial.{u2, u1} σ R _inst_1) σ _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.X.{u1, u2} R σ _inst_1)) p) p
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u2} σ R _inst_1) p) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), max (succ u1) (succ u2)} (AlgHom.{u2, max u2 u1, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (SMulHomClass.toFunLike.{max u2 u1, u2, max u2 u1, max u1 u2} (AlgHom.{u2, max u2 u1, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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))) R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) (SMulZeroClass.toSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (AddMonoid.toZero.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) (Module.toDistribMulAction.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Algebra.toModule.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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 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 u2 u1, u2, max u2 u1, max u1 u2} (AlgHom.{u2, max u2 u1, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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))) R (MvPolynomial.{u1, 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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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)))))) (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 u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Algebra.toModule.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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 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 u2 u1, u2, max u2 u1, max u1 u2} (AlgHom.{u2, max u2 u1, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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))) R (MvPolynomial.{u1, 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 u2 u1} (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.{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 u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Algebra.toModule.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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 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 u2 u1, max u1 u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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)) (AlgHom.{u2, max u2 u1, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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))) (AlgHom.algHomClass.{u2, max u2 u1, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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.aeval.{u2, max u1 u2, u1} R (MvPolynomial.{u1, u2} σ R _inst_1) σ _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.X.{u2, u1} R σ _inst_1)) p) p
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_X_left_apply MvPolynomial.aeval_X_left_applyₓ'. -/
+theorem aeval_X_left_apply (p : MvPolynomial σ R) : aeval X p = p :=
+ AlgHom.congr_fun aeval_X_left p
+#align mv_polynomial.aeval_X_left_apply MvPolynomial.aeval_X_left_apply
+
+/- warning: mv_polynomial.comp_aeval -> MvPolynomial.comp_aeval is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : Algebra.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2)] (f : σ -> S₁) {B : Type.{u4}} [_inst_5 : CommSemiring.{u4} B] [_inst_6 : Algebra.{u1, u4} R B _inst_1 (CommSemiring.toSemiring.{u4} B _inst_5)] (φ : AlgHom.{u1, u2, u4} R S₁ B _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) (CommSemiring.toSemiring.{u4} B _inst_5) _inst_3 _inst_6), Eq.{max (succ (max u3 u1)) (succ u4)} (AlgHom.{u1, max u3 u1, u4} R (MvPolynomial.{u3, u1} σ R _inst_1) B _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u4} B _inst_5) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_6) (AlgHom.comp.{u1, max u3 u1, u2, u4} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ B _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (CommSemiring.toSemiring.{u4} B _inst_5) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3 _inst_6 φ (MvPolynomial.aeval.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 _inst_3 f)) (MvPolynomial.aeval.{u1, u4, u3} R B σ _inst_1 _inst_5 _inst_6 (fun (i : σ) => coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (AlgHom.{u1, u2, u4} R S₁ B _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) (CommSemiring.toSemiring.{u4} B _inst_5) _inst_3 _inst_6) (fun (_x : AlgHom.{u1, u2, u4} R S₁ B _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) (CommSemiring.toSemiring.{u4} B _inst_5) _inst_3 _inst_6) => S₁ -> B) ([anonymous].{u1, u2, u4} R S₁ B _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) (CommSemiring.toSemiring.{u4} B _inst_5) _inst_3 _inst_6) φ (f i)))
+but is expected to have type
+ forall {R : Type.{u3}} {S₁ : Type.{u4}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] [_inst_2 : CommSemiring.{u4} S₁] [_inst_3 : Algebra.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2)] (f : σ -> S₁) {B : Type.{u2}} [_inst_5 : CommSemiring.{u2} B] [_inst_6 : Algebra.{u3, u2} R B _inst_1 (CommSemiring.toSemiring.{u2} B _inst_5)] (φ : AlgHom.{u3, u4, u2} R S₁ B _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) (CommSemiring.toSemiring.{u2} B _inst_5) _inst_3 _inst_6), Eq.{max (max (succ u3) (succ u1)) (succ u2)} (AlgHom.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) B _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u2} B _inst_5) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_6) (AlgHom.comp.{u3, max u3 u1, u4, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ B _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u4} S₁ _inst_2) (CommSemiring.toSemiring.{u2} B _inst_5) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_3 _inst_6 φ (MvPolynomial.aeval.{u3, u4, u1} R S₁ σ _inst_1 _inst_2 _inst_3 f)) (MvPolynomial.aeval.{u3, u2, u1} R B σ _inst_1 _inst_5 _inst_6 (fun (i : σ) => FunLike.coe.{max (succ u4) (succ u2), succ u4, succ u2} (AlgHom.{u3, u4, u2} R S₁ B _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) (CommSemiring.toSemiring.{u2} B _inst_5) _inst_3 _inst_6) S₁ (fun (_x : S₁) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : S₁) => B) _x) (SMulHomClass.toFunLike.{max u4 u2, u3, u4, u2} (AlgHom.{u3, u4, u2} R S₁ B _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) (CommSemiring.toSemiring.{u2} B _inst_5) _inst_3 _inst_6) R S₁ B (SMulZeroClass.toSMul.{u3, u4} R S₁ (AddMonoid.toZero.{u4} S₁ (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))))) (DistribSMul.toSMulZeroClass.{u3, u4} R S₁ (AddMonoid.toAddZeroClass.{u4} S₁ (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))))) (DistribMulAction.toDistribSMul.{u3, u4} R S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3))))) (SMulZeroClass.toSMul.{u3, u2} R B (AddMonoid.toZero.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)))))) (DistribSMul.toSMulZeroClass.{u3, u2} R B (AddMonoid.toAddZeroClass.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)))))) (DistribMulAction.toDistribSMul.{u3, u2} R B (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))))) (Module.toDistribMulAction.{u3, u2} R B (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)))) (Algebra.toModule.{u3, u2} R B _inst_1 (CommSemiring.toSemiring.{u2} B _inst_5) _inst_6))))) (DistribMulActionHomClass.toSMulHomClass.{max u4 u2, u3, u4, u2} (AlgHom.{u3, u4, u2} R S₁ B _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) (CommSemiring.toSemiring.{u2} B _inst_5) _inst_3 _inst_6) R S₁ B (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))))) (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3)) (Module.toDistribMulAction.{u3, u2} R B (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)))) (Algebra.toModule.{u3, u2} R B _inst_1 (CommSemiring.toSemiring.{u2} B _inst_5) _inst_6)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u4 u2, u3, u4, u2} (AlgHom.{u3, u4, u2} R S₁ B _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) (CommSemiring.toSemiring.{u2} B _inst_5) _inst_3 _inst_6) R S₁ B (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3)) (Module.toDistribMulAction.{u3, u2} R B (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)))) (Algebra.toModule.{u3, u2} R B _inst_1 (CommSemiring.toSemiring.{u2} B _inst_5) _inst_6)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u3, u4, u2, max u4 u2} R S₁ B _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) (CommSemiring.toSemiring.{u2} B _inst_5) _inst_3 _inst_6 (AlgHom.{u3, u4, u2} R S₁ B _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) (CommSemiring.toSemiring.{u2} B _inst_5) _inst_3 _inst_6) (AlgHom.algHomClass.{u3, u4, u2} R S₁ B _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) (CommSemiring.toSemiring.{u2} B _inst_5) _inst_3 _inst_6))))) φ (f i)))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.comp_aeval MvPolynomial.comp_aevalₓ'. -/
theorem comp_aeval {B : Type _} [CommSemiring B] [Algebra R B] (φ : S₁ →ₐ[R] B) :
φ.comp (aeval f) = aeval fun i => φ (f i) :=
by
@@ -1431,6 +2525,12 @@ theorem comp_aeval {B : Type _} [CommSemiring B] [Algebra R B] (φ : S₁ →ₐ
simp
#align mv_polynomial.comp_aeval MvPolynomial.comp_aeval
+/- warning: mv_polynomial.map_aeval -> MvPolynomial.map_aeval is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : Algebra.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2)] {B : Type.{u4}} [_inst_5 : CommSemiring.{u4} B] (g : σ -> S₁) (φ : RingHom.{u2, u4} S₁ B (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} B (CommSemiring.toSemiring.{u4} B _inst_5))) (p : MvPolynomial.{u3, u1} σ R _inst_1), Eq.{succ u4} B (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (RingHom.{u2, u4} S₁ B (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} B (CommSemiring.toSemiring.{u4} B _inst_5))) (fun (_x : RingHom.{u2, u4} S₁ B (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} B (CommSemiring.toSemiring.{u4} B _inst_5))) => S₁ -> B) (RingHom.hasCoeToFun.{u2, u4} S₁ B (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} B (CommSemiring.toSemiring.{u4} B _inst_5))) φ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (fun (_x : AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) ([anonymous].{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (MvPolynomial.aeval.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 _inst_3 g) p)) (coeFn.{max (succ (max u3 u1)) (succ u4), max (succ (max u3 u1)) (succ u4)} (RingHom.{max u3 u1, u4} (MvPolynomial.{u3, u1} σ R _inst_1) B (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))) (Semiring.toNonAssocSemiring.{u4} B (CommSemiring.toSemiring.{u4} B _inst_5))) (fun (_x : RingHom.{max u3 u1, u4} (MvPolynomial.{u3, u1} σ R _inst_1) B (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))) (Semiring.toNonAssocSemiring.{u4} B (CommSemiring.toSemiring.{u4} B _inst_5))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> B) (RingHom.hasCoeToFun.{max u3 u1, u4} (MvPolynomial.{u3, u1} σ R _inst_1) B (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))) (Semiring.toNonAssocSemiring.{u4} B (CommSemiring.toSemiring.{u4} B _inst_5))) (MvPolynomial.eval₂Hom.{u1, u4, u3} R B σ _inst_1 _inst_5 (RingHom.comp.{u1, u2, u4} R S₁ B (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} B (CommSemiring.toSemiring.{u4} B _inst_5)) φ (algebraMap.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) _inst_3)) (fun (i : σ) => coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (RingHom.{u2, u4} S₁ B (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} B (CommSemiring.toSemiring.{u4} B _inst_5))) (fun (_x : RingHom.{u2, u4} S₁ B (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} B (CommSemiring.toSemiring.{u4} B _inst_5))) => S₁ -> B) (RingHom.hasCoeToFun.{u2, u4} S₁ B (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u4} B (CommSemiring.toSemiring.{u4} B _inst_5))) φ (g i))) p)
+but is expected to have type
+ forall {R : Type.{u3}} {S₁ : Type.{u4}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] [_inst_2 : CommSemiring.{u4} S₁] [_inst_3 : Algebra.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2)] {B : Type.{u2}} [_inst_5 : CommSemiring.{u2} B] (g : σ -> S₁) (φ : RingHom.{u4, u2} S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) (p : MvPolynomial.{u1, u3} σ R _inst_1), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S₁) => B) (FunLike.coe.{max (max (succ u4) (succ u1)) (succ u3), max (succ u1) (succ u3), succ u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) (fun (a : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u3} σ R _inst_1) => S₁) a) (SMulHomClass.toFunLike.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (SMulZeroClass.toSMul.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toZero.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))))))) (SMulZeroClass.toSMul.{u3, u4} R S₁ (AddMonoid.toZero.{u4} S₁ (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))))) (DistribSMul.toSMulZeroClass.{u3, u4} R S₁ (AddMonoid.toAddZeroClass.{u4} S₁ (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))))) (DistribMulAction.toDistribSMul.{u3, u4} R S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u3, max u1 u3, u4, max (max u4 u1) u3} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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 (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) (AlgHom.algHomClass.{u3, max u1 u3, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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 g) p)) (FunLike.coe.{max (succ u4) (succ u2), succ u4, succ u2} (RingHom.{u4, u2} S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) S₁ (fun (_x : S₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S₁) => B) _x) (MulHomClass.toFunLike.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) S₁ B (NonUnitalNonAssocSemiring.toMul.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) S₁ B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) (RingHomClass.toNonUnitalRingHomClass.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)) (RingHom.instRingHomClassRingHom.{u4, u2} S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)))))) φ (FunLike.coe.{max (max (succ u4) (succ u1)) (succ u3), max (succ u1) (succ u3), succ u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u3} σ R _inst_1) => S₁) _x) (SMulHomClass.toFunLike.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (SMulZeroClass.toSMul.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toZero.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))))))) (SMulZeroClass.toSMul.{u3, u4} R S₁ (AddMonoid.toZero.{u4} S₁ (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))))) (DistribSMul.toSMulZeroClass.{u3, u4} R S₁ (AddMonoid.toAddZeroClass.{u4} S₁ (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))))) (DistribMulAction.toDistribSMul.{u3, u4} R S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u3, max u1 u3, u4, max (max u4 u1) u3} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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 (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) (AlgHom.algHomClass.{u3, max u1 u3, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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 g) p)) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u1), succ u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) B (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) (MvPolynomial.{u1, u3} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u3} σ R _inst_1) => B) _x) (MulHomClass.toFunLike.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) B (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) (MvPolynomial.{u1, u3} σ R _inst_1) B (NonUnitalNonAssocSemiring.toMul.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) B (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) (MvPolynomial.{u1, u3} σ R _inst_1) B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) (RingHomClass.toNonUnitalRingHomClass.{max (max u3 u1) u2, max u3 u1, u2} (RingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) B (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) (MvPolynomial.{u1, u3} σ R _inst_1) B (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)) (RingHom.instRingHomClassRingHom.{max u3 u1, u2} (MvPolynomial.{u1, u3} σ R _inst_1) B (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)))))) (MvPolynomial.eval₂Hom.{u3, u2, u1} R B σ _inst_1 _inst_5 (RingHom.comp.{u3, u4, u2} R S₁ B (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)) φ (algebraMap.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3)) (fun (i : σ) => FunLike.coe.{max (succ u4) (succ u2), succ u4, succ u2} (RingHom.{u4, u2} S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) S₁ (fun (_x : S₁) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S₁) => B) _x) (MulHomClass.toFunLike.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) S₁ B (NonUnitalNonAssocSemiring.toMul.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) S₁ B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) (RingHomClass.toNonUnitalRingHomClass.{max u4 u2, u4, u2} (RingHom.{u4, u2} S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5))) S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)) (RingHom.instRingHomClassRingHom.{u4, u2} S₁ B (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_5)))))) φ (g i))) p)
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.map_aeval MvPolynomial.map_aevalₓ'. -/
@[simp]
theorem map_aeval {B : Type _} [CommSemiring B] (g : σ → S₁) (φ : S₁ →+* B) (p : MvPolynomial σ R) :
φ (aeval g p) = eval₂Hom (φ.comp (algebraMap R S₁)) (fun i => φ (g i)) p :=
@@ -1439,65 +2539,137 @@ theorem map_aeval {B : Type _} [CommSemiring B] (g : σ → S₁) (φ : S₁ →
rfl
#align mv_polynomial.map_aeval MvPolynomial.map_aeval
+/- warning: mv_polynomial.eval₂_hom_zero -> MvPolynomial.eval₂Hom_zero is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {S₂ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_4 : CommSemiring.{u2} S₂] (f : RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))), Eq.{max (succ (max u3 u1)) (succ u2)} (RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (MvPolynomial.eval₂Hom.{u1, u2, u3} R S₂ σ _inst_1 _inst_4 f (OfNat.ofNat.{max u3 u2} (σ -> S₂) 0 (OfNat.mk.{max u3 u2} (σ -> S₂) 0 (Zero.zero.{max u3 u2} (σ -> S₂) (Pi.instZero.{u3, u2} σ (fun (ᾰ : σ) => S₂) (fun (i : σ) => MulZeroClass.toHasZero.{u2} S₂ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4)))))))))) (RingHom.comp.{max u3 u1, u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) R S₂ (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4)) f (MvPolynomial.constantCoeff.{u1, u3} R σ _inst_1))
+but is expected to have type
+ forall {R : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_4 : CommSemiring.{u3} S₂] (f : RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))), Eq.{max (max (succ u2) (succ u3)) (succ u1)} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₂ σ _inst_1 _inst_4 f (OfNat.ofNat.{max u3 u1} (σ -> S₂) 0 (Zero.toOfNat0.{max u3 u1} (σ -> S₂) (Pi.instZero.{u1, u3} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.19872 : σ) => S₂) (fun (i : σ) => CommMonoidWithZero.toZero.{u3} S₂ (CommSemiring.toCommMonoidWithZero.{u3} S₂ _inst_4)))))) (RingHom.comp.{max u1 u2, u2, u3} (MvPolynomial.{u1, u2} σ R _inst_1) R 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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) f (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_hom_zero MvPolynomial.eval₂Hom_zeroₓ'. -/
@[simp]
theorem eval₂Hom_zero (f : R →+* S₂) : eval₂Hom f (0 : σ → S₂) = f.comp constantCoeff := by
ext <;> simp
#align mv_polynomial.eval₂_hom_zero MvPolynomial.eval₂Hom_zero
+/- warning: mv_polynomial.eval₂_hom_zero' -> MvPolynomial.eval₂Hom_zero' is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {S₂ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_4 : CommSemiring.{u2} S₂] (f : RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))), Eq.{max (succ (max u3 u1)) (succ u2)} (RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (MvPolynomial.eval₂Hom.{u1, u2, u3} R S₂ σ _inst_1 _inst_4 f (fun (_x : σ) => OfNat.ofNat.{u2} S₂ 0 (OfNat.mk.{u2} S₂ 0 (Zero.zero.{u2} S₂ (MulZeroClass.toHasZero.{u2} S₂ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))))))))) (RingHom.comp.{max u3 u1, u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) R S₂ (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4)) f (MvPolynomial.constantCoeff.{u1, u3} R σ _inst_1))
+but is expected to have type
+ forall {R : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_4 : CommSemiring.{u3} S₂] (f : RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))), Eq.{max (max (succ u2) (succ u3)) (succ u1)} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₂ σ _inst_1 _inst_4 f (fun (_x : σ) => OfNat.ofNat.{u3} S₂ 0 (Zero.toOfNat0.{u3} S₂ (CommMonoidWithZero.toZero.{u3} S₂ (CommSemiring.toCommMonoidWithZero.{u3} S₂ _inst_4))))) (RingHom.comp.{max u1 u2, u2, u3} (MvPolynomial.{u1, u2} σ R _inst_1) R 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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) f (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_hom_zero' MvPolynomial.eval₂Hom_zero'ₓ'. -/
@[simp]
theorem eval₂Hom_zero' (f : R →+* S₂) : eval₂Hom f (fun _ => 0 : σ → S₂) = f.comp constantCoeff :=
eval₂Hom_zero f
#align mv_polynomial.eval₂_hom_zero' MvPolynomial.eval₂Hom_zero'
+/- warning: mv_polynomial.eval₂_hom_zero_apply -> MvPolynomial.eval₂Hom_zero_apply is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {S₂ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_4 : CommSemiring.{u2} S₂] (f : RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (p : MvPolynomial.{u3, u1} σ R _inst_1), Eq.{succ u2} S₂ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (fun (_x : RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₂) (RingHom.hasCoeToFun.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (MvPolynomial.eval₂Hom.{u1, u2, u3} R S₂ σ _inst_1 _inst_4 f (OfNat.ofNat.{max u3 u2} (σ -> S₂) 0 (OfNat.mk.{max u3 u2} (σ -> S₂) 0 (Zero.zero.{max u3 u2} (σ -> S₂) (Pi.instZero.{u3, u2} σ (fun (ᾰ : σ) => S₂) (fun (i : σ) => MulZeroClass.toHasZero.{u2} S₂ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4)))))))))) p) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (fun (_x : RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) => R -> S₂) (RingHom.hasCoeToFun.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) f (coeFn.{max (succ (max u3 u1)) (succ u1), max (succ (max u3 u1)) (succ u1)} (RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.constantCoeff.{u1, u3} R σ _inst_1) p))
+but is expected to have type
+ forall {R : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_4 : CommSemiring.{u3} S₂] (f : RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) p) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (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 u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₂ σ _inst_1 _inst_4 f (OfNat.ofNat.{max u3 u1} (σ -> S₂) 0 (Zero.toOfNat0.{max u3 u1} (σ -> S₂) (Pi.instZero.{u1, u3} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.20026 : σ) => S₂) (fun (i : σ) => CommMonoidWithZero.toZero.{u3} S₂ (CommSemiring.toCommMonoidWithZero.{u3} S₂ _inst_4)))))) p) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₂) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))))) f (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (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) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) p))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_hom_zero_apply MvPolynomial.eval₂Hom_zero_applyₓ'. -/
theorem eval₂Hom_zero_apply (f : R →+* S₂) (p : MvPolynomial σ R) :
eval₂Hom f (0 : σ → S₂) p = f (constantCoeff p) :=
RingHom.congr_fun (eval₂Hom_zero f) p
#align mv_polynomial.eval₂_hom_zero_apply MvPolynomial.eval₂Hom_zero_apply
+/- warning: mv_polynomial.eval₂_hom_zero'_apply -> MvPolynomial.eval₂Hom_zero'_apply is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {S₂ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_4 : CommSemiring.{u2} S₂] (f : RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (p : MvPolynomial.{u3, u1} σ R _inst_1), Eq.{succ u2} S₂ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (fun (_x : RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₂) (RingHom.hasCoeToFun.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (MvPolynomial.eval₂Hom.{u1, u2, u3} R S₂ σ _inst_1 _inst_4 f (fun (_x : σ) => OfNat.ofNat.{u2} S₂ 0 (OfNat.mk.{u2} S₂ 0 (Zero.zero.{u2} S₂ (MulZeroClass.toHasZero.{u2} S₂ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))))))))) p) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (fun (_x : RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) => R -> S₂) (RingHom.hasCoeToFun.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) f (coeFn.{max (succ (max u3 u1)) (succ u1), max (succ (max u3 u1)) (succ u1)} (RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.constantCoeff.{u1, u3} R σ _inst_1) p))
+but is expected to have type
+ forall {R : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_4 : CommSemiring.{u3} S₂] (f : RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) p) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (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 u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₂ σ _inst_1 _inst_4 f (fun (_x : σ) => OfNat.ofNat.{u3} S₂ 0 (Zero.toOfNat0.{u3} S₂ (CommMonoidWithZero.toZero.{u3} S₂ (CommSemiring.toCommMonoidWithZero.{u3} S₂ _inst_4))))) p) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₂) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))))) f (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (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) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) p))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_hom_zero'_apply MvPolynomial.eval₂Hom_zero'_applyₓ'. -/
theorem eval₂Hom_zero'_apply (f : R →+* S₂) (p : MvPolynomial σ R) :
eval₂Hom f (fun _ => 0 : σ → S₂) p = f (constantCoeff p) :=
eval₂Hom_zero_apply f p
#align mv_polynomial.eval₂_hom_zero'_apply MvPolynomial.eval₂Hom_zero'_apply
+/- warning: mv_polynomial.eval₂_zero_apply -> MvPolynomial.eval₂_zero_apply is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {S₂ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_4 : CommSemiring.{u2} S₂] (f : RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (p : MvPolynomial.{u3, u1} σ R _inst_1), Eq.{succ u2} S₂ (MvPolynomial.eval₂.{u1, u2, u3} R S₂ σ _inst_1 _inst_4 f (OfNat.ofNat.{max u3 u2} (σ -> S₂) 0 (OfNat.mk.{max u3 u2} (σ -> S₂) 0 (Zero.zero.{max u3 u2} (σ -> S₂) (Pi.instZero.{u3, u2} σ (fun (ᾰ : σ) => S₂) (fun (i : σ) => MulZeroClass.toHasZero.{u2} S₂ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))))))))) p) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (fun (_x : RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) => R -> S₂) (RingHom.hasCoeToFun.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) f (coeFn.{max (succ (max u3 u1)) (succ u1), max (succ (max u3 u1)) (succ u1)} (RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.constantCoeff.{u1, u3} R σ _inst_1) p))
+but is expected to have type
+ forall {R : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_4 : CommSemiring.{u3} S₂] (f : RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} S₂ (MvPolynomial.eval₂.{u2, u3, u1} R S₂ σ _inst_1 _inst_4 f (OfNat.ofNat.{max u3 u1} (σ -> S₂) 0 (Zero.toOfNat0.{max u3 u1} (σ -> S₂) (Pi.instZero.{u1, u3} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.20185 : σ) => S₂) (fun (i : σ) => CommMonoidWithZero.toZero.{u3} S₂ (CommSemiring.toCommMonoidWithZero.{u3} S₂ _inst_4))))) p) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₂) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))))) f (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (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) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) p))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_zero_apply MvPolynomial.eval₂_zero_applyₓ'. -/
@[simp]
theorem eval₂_zero_apply (f : R →+* S₂) (p : MvPolynomial σ R) :
eval₂ f (0 : σ → S₂) p = f (constantCoeff p) :=
eval₂Hom_zero_apply _ _
#align mv_polynomial.eval₂_zero_apply MvPolynomial.eval₂_zero_apply
+/- warning: mv_polynomial.eval₂_zero'_apply -> MvPolynomial.eval₂_zero'_apply is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {S₂ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_4 : CommSemiring.{u2} S₂] (f : RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (p : MvPolynomial.{u3, u1} σ R _inst_1), Eq.{succ u2} S₂ (MvPolynomial.eval₂.{u1, u2, u3} R S₂ σ _inst_1 _inst_4 f (fun (_x : σ) => OfNat.ofNat.{u2} S₂ 0 (OfNat.mk.{u2} S₂ 0 (Zero.zero.{u2} S₂ (MulZeroClass.toHasZero.{u2} S₂ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4)))))))) p) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (fun (_x : RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) => R -> S₂) (RingHom.hasCoeToFun.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) f (coeFn.{max (succ (max u3 u1)) (succ u1), max (succ (max u3 u1)) (succ u1)} (RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.constantCoeff.{u1, u3} R σ _inst_1) p))
+but is expected to have type
+ forall {R : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_4 : CommSemiring.{u3} S₂] (f : RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} S₂ (MvPolynomial.eval₂.{u2, u3, u1} R S₂ σ _inst_1 _inst_4 f (fun (_x : σ) => OfNat.ofNat.{u3} S₂ 0 (Zero.toOfNat0.{u3} S₂ (CommMonoidWithZero.toZero.{u3} S₂ (CommSemiring.toCommMonoidWithZero.{u3} S₂ _inst_4)))) p) (FunLike.coe.{max (succ u2) (succ u3), succ u2, succ u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₂) _x) (MulHomClass.toFunLike.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u3, u2, u3} (RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))))) f (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (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) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) p))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_zero'_apply MvPolynomial.eval₂_zero'_applyₓ'. -/
@[simp]
theorem eval₂_zero'_apply (f : R →+* S₂) (p : MvPolynomial σ R) :
eval₂ f (fun _ => 0 : σ → S₂) p = f (constantCoeff p) :=
eval₂_zero_apply f p
#align mv_polynomial.eval₂_zero'_apply MvPolynomial.eval₂_zero'_apply
+/- warning: mv_polynomial.aeval_zero -> MvPolynomial.aeval_zero is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : Algebra.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2)] (p : MvPolynomial.{u3, u1} σ R _inst_1), Eq.{succ u2} S₁ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (fun (_x : AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) ([anonymous].{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (MvPolynomial.aeval.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 _inst_3 (OfNat.ofNat.{max u3 u2} (σ -> S₁) 0 (OfNat.mk.{max u3 u2} (σ -> S₁) 0 (Zero.zero.{max u3 u2} (σ -> S₁) (Pi.instZero.{u3, u2} σ (fun (ᾰ : σ) => S₁) (fun (i : σ) => MulZeroClass.toHasZero.{u2} S₁ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))))))))) p) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (algebraMap.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) _inst_3) (coeFn.{max (succ (max u3 u1)) (succ u1), max (succ (max u3 u1)) (succ u1)} (RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.constantCoeff.{u1, u3} R σ _inst_1) p))
+but is expected to have type
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : Algebra.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2)] (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) p) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u1) (succ u2), succ u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (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) => S₁) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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, 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.{u2, 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.{u2, u3} R S₁ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{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.{u2, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, 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.{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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u1 u2, u3, max (max u3 u1) u2} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3 (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (AlgHom.algHomClass.{u2, max u1 u2, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3))))) (MvPolynomial.aeval.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_3 (OfNat.ofNat.{max u3 u1} (σ -> S₁) 0 (Zero.toOfNat0.{max u3 u1} (σ -> S₁) (Pi.instZero.{u1, u3} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.20333 : σ) => S₁) (fun (i : σ) => CommMonoidWithZero.toZero.{u3} S₁ (CommSemiring.toCommMonoidWithZero.{u3} S₁ _inst_2)))))) p) (FunLike.coe.{max (succ u3) (succ u2), succ u2, succ u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) => S₁) _x) (MulHomClass.toFunLike.{max u3 u2, u2, u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (NonUnitalNonAssocSemiring.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u2, u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u2, u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (algebraMap.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (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) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) p))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_zero MvPolynomial.aeval_zeroₓ'. -/
@[simp]
theorem aeval_zero (p : MvPolynomial σ R) :
aeval (0 : σ → S₁) p = algebraMap _ _ (constantCoeff p) :=
eval₂Hom_zero_apply (algebraMap R S₁) p
#align mv_polynomial.aeval_zero MvPolynomial.aeval_zero
+/- warning: mv_polynomial.aeval_zero' -> MvPolynomial.aeval_zero' is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : Algebra.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2)] (p : MvPolynomial.{u3, u1} σ R _inst_1), Eq.{succ u2} S₁ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (fun (_x : AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) ([anonymous].{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (MvPolynomial.aeval.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 _inst_3 (fun (_x : σ) => OfNat.ofNat.{u2} S₁ 0 (OfNat.mk.{u2} S₁ 0 (Zero.zero.{u2} S₁ (MulZeroClass.toHasZero.{u2} S₁ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))))))))) p) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (algebraMap.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) _inst_3) (coeFn.{max (succ (max u3 u1)) (succ u1), max (succ (max u3 u1)) (succ u1)} (RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (fun (_x : RingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u3 u1, u1} (MvPolynomial.{u3, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.constantCoeff.{u1, u3} R σ _inst_1) p))
+but is expected to have type
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : Algebra.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2)] (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) p) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u1) (succ u2), succ u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (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) => S₁) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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, 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.{u2, 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.{u2, u3} R S₁ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{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.{u2, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, 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.{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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u1 u2, u3, max (max u3 u1) u2} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3 (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (AlgHom.algHomClass.{u2, max u1 u2, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3))))) (MvPolynomial.aeval.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_3 (fun (_x : σ) => OfNat.ofNat.{u3} S₁ 0 (Zero.toOfNat0.{u3} S₁ (CommMonoidWithZero.toZero.{u3} S₁ (CommSemiring.toCommMonoidWithZero.{u3} S₁ _inst_2))))) p) (FunLike.coe.{max (succ u3) (succ u2), succ u2, succ u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (fun (_x : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) => S₁) _x) (MulHomClass.toFunLike.{max u3 u2, u2, u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (NonUnitalNonAssocSemiring.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u2, u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u2, u3} (RingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ (Semiring.toNonAssocSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) (CommSemiring.toSemiring.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (algebraMap.{u2, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => R) p) S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), succ u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (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) => R) _x) (MulHomClass.toFunLike.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, max u1 u2, u2} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) p))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_zero' MvPolynomial.aeval_zero'ₓ'. -/
@[simp]
theorem aeval_zero' (p : MvPolynomial σ R) :
aeval (fun _ => 0 : σ → S₁) p = algebraMap _ _ (constantCoeff p) :=
aeval_zero p
#align mv_polynomial.aeval_zero' MvPolynomial.aeval_zero'
+/- warning: mv_polynomial.eval_zero -> MvPolynomial.eval_zero is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R], Eq.{max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.eval.{u1, u2} R σ _inst_1 (OfNat.ofNat.{max u2 u1} (σ -> R) 0 (OfNat.mk.{max u2 u1} (σ -> R) 0 (Zero.zero.{max u2 u1} (σ -> R) (Pi.instZero.{u2, u1} σ (fun (ᾰ : σ) => R) (fun (i : σ) => MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))) (MvPolynomial.constantCoeff.{u1, u2} R σ _inst_1)
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.eval.{u2, u1} R σ _inst_1 (OfNat.ofNat.{max u2 u1} (σ -> R) 0 (Zero.toOfNat0.{max u2 u1} (σ -> R) (Pi.instZero.{u1, u2} σ (fun (a._@.Mathlib.Data.MvPolynomial.Basic._hyg.20481 : σ) => R) (fun (i : σ) => CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1)
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval_zero MvPolynomial.eval_zeroₓ'. -/
@[simp]
theorem eval_zero : eval (0 : σ → R) = constantCoeff :=
eval₂Hom_zero _
#align mv_polynomial.eval_zero MvPolynomial.eval_zero
+/- warning: mv_polynomial.eval_zero' -> MvPolynomial.eval_zero' is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R], Eq.{max (succ (max u2 u1)) (succ u1)} (RingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (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))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.eval.{u1, u2} R σ _inst_1 (fun (_x : σ) => OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) (MvPolynomial.constantCoeff.{u1, u2} R σ _inst_1)
+but is expected to have type
+ forall {R : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R], Eq.{max (succ u2) (succ u1)} (RingHom.{max u2 u1, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (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.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.eval.{u2, u1} R σ _inst_1 (fun (_x : σ) => OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1)
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval_zero' MvPolynomial.eval_zero'ₓ'. -/
@[simp]
theorem eval_zero' : eval (fun _ => 0 : σ → R) = constantCoeff :=
eval₂Hom_zero _
#align mv_polynomial.eval_zero' MvPolynomial.eval_zero'
+/- warning: mv_polynomial.aeval_monomial -> MvPolynomial.aeval_monomial is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : Algebra.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2)] (g : σ -> S₁) (d : Finsupp.{u3, 0} σ Nat Nat.hasZero) (r : R), Eq.{succ u2} S₁ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (fun (_x : AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) ([anonymous].{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (MvPolynomial.aeval.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 _inst_3 g) (coeFn.{max (succ u1) (succ (max u3 u1)), max (succ u1) (succ (max u3 u1))} (LinearMap.{u1, u1, u1, max u3 u1} 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 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))))) (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)))) (fun (_x : LinearMap.{u1, u1, u1, max u3 u1} 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 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))))) (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 -> (MvPolynomial.{u3, u1} σ R _inst_1)) (LinearMap.hasCoeToFun.{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 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))))) (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)) (HMul.hMul.{u2, u2, u2} S₁ S₁ S₁ (instHMul.{u2} S₁ (Distrib.toHasMul.{u2} S₁ (NonUnitalNonAssocSemiring.toDistrib.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (fun (_x : RingHom.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) => R -> S₁) (RingHom.hasCoeToFun.{u1, u2} R S₁ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))) (algebraMap.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) _inst_3) r) (Finsupp.prod.{u3, 0, u2} σ Nat S₁ Nat.hasZero (CommSemiring.toCommMonoid.{u2} S₁ _inst_2) d (fun (i : σ) (k : Nat) => HPow.hPow.{u2, 0, u2} S₁ Nat S₁ (instHPow.{u2, 0} S₁ Nat (Monoid.Pow.{u2} S₁ (MonoidWithZero.toMonoid.{u2} S₁ (Semiring.toMonoidWithZero.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2))))) (g i) k)))
+but is expected to have type
+ forall {R : Type.{u2}} {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : Algebra.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2)] (g : σ -> S₁) (d : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (r : R), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 d) r)) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u1) (succ u2), succ u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (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) => S₁) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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, 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.{u2, 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.{u2, u3} R S₁ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{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.{u2, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, 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.{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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (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 u2 u1} (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 u2 u1} (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, u3} R S₁ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (Algebra.toModule.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u1 u2, u3, max (max u3 u1) u2} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3 (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3) (AlgHom.algHomClass.{u2, max u1 u2, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_3))))) (MvPolynomial.aeval.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_3 g) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 d) r)) (HMul.hMul.{u3, u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) S₁ ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u2} σ R _inst_1) => S₁) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (LinearMap.{u2, u2, u2, max u2 u1} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, max u1 u2} R R R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (MvPolynomial.module.{u2, u2, u1} R R σ (CommSemiring.toSemiring.{u2} R _inst_1) _inst_1 (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (MvPolynomial.monomial.{u2, u1} R σ _inst_1 d) r)) (instHMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (NonUnitalNonAssocSemiring.toMul.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (Semiring.toNonAssocSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) (CommSemiring.toSemiring.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) r) _inst_2))))) (FunLike.coe.{max (succ u3) (succ u2), succ u2, succ u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S₁) _x) (MulHomClass.toFunLike.{max u3 u2, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₁ (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u2, u3} (RingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))) R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u3} R S₁ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2)))))) (algebraMap.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3) r) (Finsupp.prod.{u1, 0, u3} σ Nat S₁ (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (CommSemiring.toCommMonoid.{u3} S₁ _inst_2) d (fun (i : σ) (k : Nat) => HPow.hPow.{u3, 0, u3} S₁ Nat S₁ (instHPow.{u3, 0} S₁ Nat (Monoid.Pow.{u3} S₁ (MonoidWithZero.toMonoid.{u3} S₁ (Semiring.toMonoidWithZero.{u3} S₁ (CommSemiring.toSemiring.{u3} S₁ _inst_2))))) (g i) k)))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_monomial MvPolynomial.aeval_monomialₓ'. -/
theorem aeval_monomial (g : σ → S₁) (d : σ →₀ ℕ) (r : R) :
aeval g (monomial d r) = algebraMap _ _ r * d.Prod fun i k => g i ^ k :=
eval₂Hom_monomial _ _ _ _
#align mv_polynomial.aeval_monomial MvPolynomial.aeval_monomial
+/- warning: mv_polynomial.eval₂_hom_eq_zero -> MvPolynomial.eval₂Hom_eq_zero is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {S₂ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_4 : CommSemiring.{u2} S₂] (f : RingHom.{u1, u2} R S₂ (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (g : σ -> S₂) (φ : MvPolynomial.{u3, u1} σ R _inst_1), (forall (d : Finsupp.{u3, 0} σ Nat Nat.hasZero), (Ne.{succ u1} R (MvPolynomial.coeff.{u1, u3} R σ _inst_1 d φ) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) -> (Exists.{succ u3} σ (fun (i : σ) => Exists.{0} (Membership.Mem.{u3, u3} σ (Finset.{u3} σ) (Finset.hasMem.{u3} σ) i (Finsupp.support.{u3, 0} σ Nat Nat.hasZero d)) (fun (H : Membership.Mem.{u3, u3} σ (Finset.{u3} σ) (Finset.hasMem.{u3} σ) i (Finsupp.support.{u3, 0} σ Nat Nat.hasZero d)) => Eq.{succ u2} S₂ (g i) (OfNat.ofNat.{u2} S₂ 0 (OfNat.mk.{u2} S₂ 0 (Zero.zero.{u2} S₂ (MulZeroClass.toHasZero.{u2} S₂ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4)))))))))))) -> (Eq.{succ u2} S₂ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (fun (_x : RingHom.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₂) (RingHom.hasCoeToFun.{max u3 u1, u2} (MvPolynomial.{u3, u1} σ R _inst_1) S₂ (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))) (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4))) (MvPolynomial.eval₂Hom.{u1, u2, u3} R S₂ σ _inst_1 _inst_4 f g) φ) (OfNat.ofNat.{u2} S₂ 0 (OfNat.mk.{u2} S₂ 0 (Zero.zero.{u2} S₂ (MulZeroClass.toHasZero.{u2} S₂ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4)))))))))
+but is expected to have type
+ forall {R : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_4 : CommSemiring.{u3} S₂] (f : RingHom.{u2, u3} R S₂ (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (g : σ -> S₂) (φ : MvPolynomial.{u1, u2} σ R _inst_1), (forall (d : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)), (Ne.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d φ) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) -> (Exists.{succ u1} σ (fun (i : σ) => And (Membership.mem.{u1, u1} σ (Finset.{u1} σ) (Finset.instMembershipFinset.{u1} σ) i (Finsupp.support.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) d)) (Eq.{succ u3} S₂ (g i) (OfNat.ofNat.{u3} S₂ 0 (Zero.toOfNat0.{u3} S₂ (CommMonoidWithZero.toZero.{u3} S₂ (CommSemiring.toCommMonoidWithZero.{u3} S₂ _inst_4)))))))) -> (Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) φ) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), succ u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (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 u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (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.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (RingHomClass.toNonUnitalRingHomClass.{max (max u2 u3) u1, max u2 u1, u3} (RingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)) (RingHom.instRingHomClassRingHom.{max u2 u1, u3} (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.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))))) (MvPolynomial.eval₂Hom.{u2, u3, u1} R S₂ σ _inst_1 _inst_4 f g) φ) (OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) φ) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) φ) (CommMonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) φ) (CommSemiring.toCommMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) φ) _inst_4)))))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_hom_eq_zero MvPolynomial.eval₂Hom_eq_zeroₓ'. -/
theorem eval₂Hom_eq_zero (f : R →+* S₂) (g : σ → S₂) (φ : MvPolynomial σ R)
(h : ∀ d, φ.coeff d ≠ 0 → ∃ i ∈ d.support, g i = 0) : eval₂Hom f g φ = 0 :=
by
@@ -1509,16 +2681,34 @@ theorem eval₂Hom_eq_zero (f : R →+* S₂) (g : σ → S₂) (φ : MvPolynomi
rwa [pos_iff_ne_zero, ← Finsupp.mem_support_iff]
#align mv_polynomial.eval₂_hom_eq_zero MvPolynomial.eval₂Hom_eq_zero
+/- warning: mv_polynomial.aeval_eq_zero -> MvPolynomial.aeval_eq_zero is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {S₂ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_4 : CommSemiring.{u2} S₂] [_inst_5 : Algebra.{u1, u2} R S₂ _inst_1 (CommSemiring.toSemiring.{u2} S₂ _inst_4)] (f : σ -> S₂) (φ : MvPolynomial.{u3, u1} σ R _inst_1), (forall (d : Finsupp.{u3, 0} σ Nat Nat.hasZero), (Ne.{succ u1} R (MvPolynomial.coeff.{u1, u3} R σ _inst_1 d φ) (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) -> (Exists.{succ u3} σ (fun (i : σ) => Exists.{0} (Membership.Mem.{u3, u3} σ (Finset.{u3} σ) (Finset.hasMem.{u3} σ) i (Finsupp.support.{u3, 0} σ Nat Nat.hasZero d)) (fun (H : Membership.Mem.{u3, u3} σ (Finset.{u3} σ) (Finset.hasMem.{u3} σ) i (Finsupp.support.{u3, 0} σ Nat Nat.hasZero d)) => Eq.{succ u2} S₂ (f i) (OfNat.ofNat.{u2} S₂ 0 (OfNat.mk.{u2} S₂ 0 (Zero.zero.{u2} S₂ (MulZeroClass.toHasZero.{u2} S₂ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4)))))))))))) -> (Eq.{succ u2} S₂ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₂ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₂ _inst_4) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_5) (fun (_x : AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₂ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₂ _inst_4) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_5) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₂) ([anonymous].{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₂ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₂ _inst_4) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_5) (MvPolynomial.aeval.{u1, u2, u3} R S₂ σ _inst_1 _inst_4 _inst_5 f) φ) (OfNat.ofNat.{u2} S₂ 0 (OfNat.mk.{u2} S₂ 0 (Zero.zero.{u2} S₂ (MulZeroClass.toHasZero.{u2} S₂ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₂ (Semiring.toNonAssocSemiring.{u2} S₂ (CommSemiring.toSemiring.{u2} S₂ _inst_4)))))))))
+but is expected to have type
+ forall {R : Type.{u2}} {S₂ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_4 : CommSemiring.{u3} S₂] [_inst_5 : Algebra.{u2, u3} R S₂ _inst_1 (CommSemiring.toSemiring.{u3} S₂ _inst_4)] (f : σ -> S₂) (φ : MvPolynomial.{u1, u2} σ R _inst_1), (forall (d : Finsupp.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)), (Ne.{succ u2} R (MvPolynomial.coeff.{u2, u1} R σ _inst_1 d φ) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) -> (Exists.{succ u1} σ (fun (i : σ) => And (Membership.mem.{u1, u1} σ (Finset.{u1} σ) (Finset.instMembershipFinset.{u1} σ) i (Finsupp.support.{u1, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) d)) (Eq.{succ u3} S₂ (f i) (OfNat.ofNat.{u3} S₂ 0 (Zero.toOfNat0.{u3} S₂ (CommMonoidWithZero.toZero.{u3} S₂ (CommSemiring.toCommMonoidWithZero.{u3} S₂ _inst_4)))))))) -> (Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) φ) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u1) (succ u2), succ u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₂ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₂ _inst_4) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_5) (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) => S₂) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₂ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₂ _inst_4) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_5) R (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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, 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_4)))))) (DistribSMul.toSMulZeroClass.{u2, 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_4)))))) (DistribMulAction.toDistribSMul.{u2, u3} R S₂ (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{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_4))))) (Module.toDistribMulAction.{u2, u3} R S₂ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (Algebra.toModule.{u2, u3} R S₂ _inst_1 (CommSemiring.toSemiring.{u3} S₂ _inst_4) _inst_5))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₂ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₂ _inst_4) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_5) R (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, 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_4))))) (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 u2 u1} (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 u2 u1} (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, u3} R S₂ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (Algebra.toModule.{u2, u3} R S₂ _inst_1 (CommSemiring.toSemiring.{u3} S₂ _inst_4) _inst_5)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u2, max u1 u2, u3} (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₂ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₂ _inst_4) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_5) R (MvPolynomial.{u1, u2} σ R _inst_1) S₂ (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 u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4))) (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 u2 u1} (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 u2 u1} (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, u3} R S₂ (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S₂ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S₂ (Semiring.toNonAssocSemiring.{u3} S₂ (CommSemiring.toSemiring.{u3} S₂ _inst_4)))) (Algebra.toModule.{u2, u3} R S₂ _inst_1 (CommSemiring.toSemiring.{u3} S₂ _inst_4) _inst_5)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u1 u2, u3, max (max u3 u1) u2} R (MvPolynomial.{u1, u2} σ R _inst_1) S₂ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₂ _inst_4) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_5 (AlgHom.{u2, max u2 u1, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₂ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₂ _inst_4) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_5) (AlgHom.algHomClass.{u2, max u1 u2, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₂ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S₂ _inst_4) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) _inst_5))))) (MvPolynomial.aeval.{u2, u3, u1} R S₂ σ _inst_1 _inst_4 _inst_5 f) φ) (OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) φ) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) φ) (CommMonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) φ) (CommSemiring.toCommMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u2} σ R _inst_1) => S₂) φ) _inst_4)))))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_eq_zero MvPolynomial.aeval_eq_zeroₓ'. -/
theorem aeval_eq_zero [Algebra R S₂] (f : σ → S₂) (φ : MvPolynomial σ R)
(h : ∀ d, φ.coeff d ≠ 0 → ∃ i ∈ d.support, f i = 0) : aeval f φ = 0 :=
eval₂Hom_eq_zero _ _ _ h
#align mv_polynomial.aeval_eq_zero MvPolynomial.aeval_eq_zero
+/- warning: mv_polynomial.aeval_sum -> MvPolynomial.aeval_sum is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : Algebra.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2)] (f : σ -> S₁) {ι : Type.{u4}} (s : Finset.{u4} ι) (φ : ι -> (MvPolynomial.{u3, u1} σ R _inst_1)), Eq.{succ u2} S₁ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (fun (_x : AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) ([anonymous].{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (MvPolynomial.aeval.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 _inst_3 f) (Finset.sum.{max u3 u1, u4} (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))))) s (fun (i : ι) => φ i))) (Finset.sum.{u2, u4} S₁ ι (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S₁ (Semiring.toNonAssocSemiring.{u2} S₁ (CommSemiring.toSemiring.{u2} S₁ _inst_2)))) s (fun (i : ι) => coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (fun (_x : AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) ([anonymous].{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (MvPolynomial.aeval.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 _inst_3 f) (φ i)))
+but is expected to have type
+ forall {R : Type.{u3}} {S₁ : Type.{u4}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] [_inst_2 : CommSemiring.{u4} S₁] [_inst_3 : Algebra.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2)] (f : σ -> S₁) {ι : Type.{u2}} (s : Finset.{u2} ι) (φ : ι -> (MvPolynomial.{u1, u3} σ R _inst_1)), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u3} σ R _inst_1) => S₁) (Finset.sum.{max u1 u3, u2} (MvPolynomial.{u1, u3} σ R _inst_1) ι (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) s (fun (i : ι) => φ i))) (FunLike.coe.{max (max (succ u4) (succ u1)) (succ u3), max (succ u1) (succ u3), succ u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u3} σ R _inst_1) => S₁) _x) (SMulHomClass.toFunLike.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (SMulZeroClass.toSMul.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toZero.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))))))) (SMulZeroClass.toSMul.{u3, u4} R S₁ (AddMonoid.toZero.{u4} S₁ (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))))) (DistribSMul.toSMulZeroClass.{u3, u4} R S₁ (AddMonoid.toAddZeroClass.{u4} S₁ (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))))) (DistribMulAction.toDistribSMul.{u3, u4} R S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u3, max u1 u3, u4, max (max u4 u1) u3} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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 (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) (AlgHom.algHomClass.{u3, max u1 u3, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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 f) (Finset.sum.{max u1 u3, u2} (MvPolynomial.{u1, u3} σ R _inst_1) ι (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) s (fun (i : ι) => φ i))) (Finset.sum.{u4, u2} S₁ ι (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) s (fun (i : ι) => FunLike.coe.{max (max (succ u4) (succ u1)) (succ u3), max (succ u1) (succ u3), succ u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u3} σ R _inst_1) => S₁) _x) (SMulHomClass.toFunLike.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (SMulZeroClass.toSMul.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toZero.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))))))) (SMulZeroClass.toSMul.{u3, u4} R S₁ (AddMonoid.toZero.{u4} S₁ (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))))) (DistribSMul.toSMulZeroClass.{u3, u4} R S₁ (AddMonoid.toAddZeroClass.{u4} S₁ (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))))) (DistribMulAction.toDistribSMul.{u3, u4} R S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u3, max u1 u3, u4, max (max u4 u1) u3} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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 (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) (AlgHom.algHomClass.{u3, max u1 u3, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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 f) (φ i)))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_sum MvPolynomial.aeval_sumₓ'. -/
theorem aeval_sum {ι : Type _} (s : Finset ι) (φ : ι → MvPolynomial σ R) :
aeval f (∑ i in s, φ i) = ∑ i in s, aeval f (φ i) :=
(MvPolynomial.aeval f).map_sum _ _
#align mv_polynomial.aeval_sum MvPolynomial.aeval_sum
+/- warning: mv_polynomial.aeval_prod -> MvPolynomial.aeval_prod is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : Algebra.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2)] (f : σ -> S₁) {ι : Type.{u4}} (s : Finset.{u4} ι) (φ : ι -> (MvPolynomial.{u3, u1} σ R _inst_1)), Eq.{succ u2} S₁ (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (fun (_x : AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) ([anonymous].{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (MvPolynomial.aeval.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 _inst_3 f) (Finset.prod.{max u3 u1, u4} (MvPolynomial.{u3, u1} σ R _inst_1) ι (CommSemiring.toCommMonoid.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) s (fun (i : ι) => φ i))) (Finset.prod.{u2, u4} S₁ ι (CommSemiring.toCommMonoid.{u2} S₁ _inst_2) s (fun (i : ι) => coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (fun (_x : AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) => (MvPolynomial.{u3, u1} σ R _inst_1) -> S₁) ([anonymous].{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (MvPolynomial.aeval.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 _inst_3 f) (φ i)))
+but is expected to have type
+ forall {R : Type.{u3}} {S₁ : Type.{u4}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] [_inst_2 : CommSemiring.{u4} S₁] [_inst_3 : Algebra.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2)] (f : σ -> S₁) {ι : Type.{u2}} (s : Finset.{u2} ι) (φ : ι -> (MvPolynomial.{u1, u3} σ R _inst_1)), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u3} σ R _inst_1) => S₁) (Finset.prod.{max u1 u3, u2} (MvPolynomial.{u1, u3} σ R _inst_1) ι (CommSemiring.toCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) s (fun (i : ι) => φ i))) (FunLike.coe.{max (max (succ u4) (succ u1)) (succ u3), max (succ u1) (succ u3), succ u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u3} σ R _inst_1) => S₁) _x) (SMulHomClass.toFunLike.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (SMulZeroClass.toSMul.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toZero.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))))))) (SMulZeroClass.toSMul.{u3, u4} R S₁ (AddMonoid.toZero.{u4} S₁ (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))))) (DistribSMul.toSMulZeroClass.{u3, u4} R S₁ (AddMonoid.toAddZeroClass.{u4} S₁ (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))))) (DistribMulAction.toDistribSMul.{u3, u4} R S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u3, max u1 u3, u4, max (max u4 u1) u3} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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 (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) (AlgHom.algHomClass.{u3, max u1 u3, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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 f) (Finset.prod.{max u1 u3, u2} (MvPolynomial.{u1, u3} σ R _inst_1) ι (CommSemiring.toCommMonoid.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) s (fun (i : ι) => φ i))) (Finset.prod.{u4, u2} S₁ ι (CommSemiring.toCommMonoid.{u4} S₁ _inst_2) s (fun (i : ι) => FunLike.coe.{max (max (succ u4) (succ u1)) (succ u3), max (succ u1) (succ u3), succ u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u3} σ R _inst_1) => S₁) _x) (SMulHomClass.toFunLike.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (SMulZeroClass.toSMul.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toZero.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))))))) (SMulZeroClass.toSMul.{u3, u4} R S₁ (AddMonoid.toZero.{u4} S₁ (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))))) (DistribSMul.toSMulZeroClass.{u3, u4} R S₁ (AddMonoid.toAddZeroClass.{u4} S₁ (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))))) (DistribMulAction.toDistribSMul.{u3, u4} R S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (AddCommMonoid.toAddMonoid.{u4} S₁ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u4 u1) u3, u3, max u1 u3, u4} (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u4} R S₁ (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S₁ (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S₁ (Semiring.toNonAssocSemiring.{u4} S₁ (CommSemiring.toSemiring.{u4} S₁ _inst_2)))) (Algebra.toModule.{u3, u4} R S₁ _inst_1 (CommSemiring.toSemiring.{u4} S₁ _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u3, max u1 u3, u4, max (max u4 u1) u3} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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 (AlgHom.{u3, max u3 u1, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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) (AlgHom.algHomClass.{u3, max u1 u3, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u3 u1} (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 f) (φ i)))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_prod MvPolynomial.aeval_prodₓ'. -/
@[to_additive]
theorem aeval_prod {ι : Type _} (s : Finset ι) (φ : ι → MvPolynomial σ R) :
aeval f (∏ i in s, φ i) = ∏ i in s, aeval f (φ i) :=
@@ -1528,16 +2718,24 @@ theorem aeval_prod {ι : Type _} (s : Finset ι) (φ : ι → MvPolynomial σ R)
variable (R)
+/- warning: algebra.adjoin_range_eq_range_aeval -> Algebra.adjoin_range_eq_range_aeval is a dubious translation:
+lean 3 declaration is
+ forall (R : Type.{u1}) {S₁ : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} S₁] [_inst_3 : Algebra.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2)] (f : σ -> S₁), Eq.{succ u2} (Subalgebra.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) _inst_3) (Algebra.adjoin.{u1, u2} R S₁ _inst_1 (CommSemiring.toSemiring.{u2} S₁ _inst_2) _inst_3 (Set.range.{u2, succ u3} S₁ σ f)) (AlgHom.range.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) S₁ _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)) (CommSemiring.toSemiring.{u2} S₁ _inst_2) _inst_3 (MvPolynomial.aeval.{u1, u2, u3} R S₁ σ _inst_1 _inst_2 _inst_3 f))
+but is expected to have type
+ forall (R : Type.{u2}) {S₁ : Type.{u3}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u3} S₁] [_inst_3 : Algebra.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2)] (f : σ -> S₁), Eq.{succ u3} (Subalgebra.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3) (Algebra.adjoin.{u2, u3} R S₁ _inst_1 (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3 (Set.range.{u3, succ u1} S₁ σ f)) (AlgHom.range.{u2, max u1 u2, u3} R (MvPolynomial.{u1, u2} σ R _inst_1) S₁ _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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)) (CommSemiring.toSemiring.{u3} S₁ _inst_2) _inst_3 (MvPolynomial.aeval.{u2, u3, u1} R S₁ σ _inst_1 _inst_2 _inst_3 f))
+Case conversion may be inaccurate. Consider using '#align algebra.adjoin_range_eq_range_aeval Algebra.adjoin_range_eq_range_aevalₓ'. -/
theorem Algebra.adjoin_range_eq_range_aeval :
Algebra.adjoin R (Set.range f) = (MvPolynomial.aeval f).range := by
- simp only [← Algebra.map_top, ← MvPolynomial.adjoin_range_x, AlgHom.map_adjoin, ← Set.range_comp,
- (· ∘ ·), MvPolynomial.aeval_x]
+ simp only [← Algebra.map_top, ← MvPolynomial.adjoin_range_X, AlgHom.map_adjoin, ← Set.range_comp,
+ (· ∘ ·), MvPolynomial.aeval_X]
#align algebra.adjoin_range_eq_range_aeval Algebra.adjoin_range_eq_range_aeval
+#print Algebra.adjoin_eq_range /-
theorem Algebra.adjoin_eq_range (s : Set S₁) :
Algebra.adjoin R s = (MvPolynomial.aeval (coe : s → S₁)).range := by
rw [← Algebra.adjoin_range_eq_range_aeval, Subtype.range_coe]
#align algebra.adjoin_eq_range Algebra.adjoin_eq_range
+-/
end Aeval
@@ -1547,6 +2745,7 @@ variable {S A B : Type _} [CommSemiring S] [CommSemiring A] [CommSemiring B]
variable [Algebra S R] [Algebra S A] [Algebra S B]
+#print MvPolynomial.aevalTower /-
/-- Version of `aeval` for defining algebra homs out of `mv_polynomial σ R` over a smaller base ring
than `R`. -/
def aevalTower (f : R →ₐ[S] A) (x : σ → A) : MvPolynomial σ R →ₐ[S] A :=
@@ -1554,46 +2753,95 @@ def aevalTower (f : R →ₐ[S] A) (x : σ → A) : MvPolynomial σ R →ₐ[S]
commutes' := fun r => by
simp [IsScalarTower.algebraMap_eq S R (MvPolynomial σ R), algebra_map_eq] }
#align mv_polynomial.aeval_tower MvPolynomial.aevalTower
+-/
variable (g : R →ₐ[S] A) (y : σ → A)
-@[simp]
-theorem aevalTower_x (i : σ) : aevalTower g y (x i) = y i :=
- eval₂_x _ _ _
-#align mv_polynomial.aeval_tower_X MvPolynomial.aevalTower_x
-
-@[simp]
-theorem aevalTower_c (x : R) : aevalTower g y (c x) = g x :=
- eval₂_c _ _ _
-#align mv_polynomial.aeval_tower_C MvPolynomial.aevalTower_c
-
-@[simp]
-theorem aevalTower_comp_c : (aevalTower g y : MvPolynomial σ R →+* A).comp c = g :=
- RingHom.ext <| aevalTower_c _ _
-#align mv_polynomial.aeval_tower_comp_C MvPolynomial.aevalTower_comp_c
-
+/- warning: mv_polynomial.aeval_tower_X -> MvPolynomial.aevalTower_X is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {S : Type.{u3}} {A : Type.{u4}} [_inst_3 : CommSemiring.{u3} S] [_inst_4 : CommSemiring.{u4} A] [_inst_6 : Algebra.{u3, u1} S R _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1)] [_inst_7 : Algebra.{u3, u4} S A _inst_3 (CommSemiring.toSemiring.{u4} A _inst_4)] (g : AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) (y : σ -> A) (i : σ), Eq.{succ u4} A (coeFn.{max (succ (max u2 u1)) (succ u4), max (succ (max u2 u1)) (succ u4)} (AlgHom.{u3, max u2 u1, u4} S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (fun (_x : AlgHom.{u3, max u2 u1, u4} S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) => (MvPolynomial.{u2, u1} σ R _inst_1) -> A) ([anonymous].{u3, max u2 u1, u4} S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (MvPolynomial.aevalTower.{u1, u2, u3, u4} R σ _inst_1 S A _inst_3 _inst_4 _inst_6 _inst_7 g y) (MvPolynomial.X.{u1, u2} R σ _inst_1 i)) (y i)
+but is expected to have type
+ forall {R : Type.{u4}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u4} R] {S : Type.{u1}} {A : Type.{u3}} [_inst_3 : CommSemiring.{u1} S] [_inst_4 : CommSemiring.{u3} A] [_inst_6 : Algebra.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1)] [_inst_7 : Algebra.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4)] (g : AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) (y : σ -> A) (i : σ), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u2, u4} σ R _inst_1) => A) (MvPolynomial.X.{u4, u2} R σ _inst_1 i)) (FunLike.coe.{max (max (succ u4) (succ u2)) (succ u3), max (succ u4) (succ u2), succ u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (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) => A) _x) (SMulHomClass.toFunLike.{max (max u4 u2) u3, u1, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u4} σ R _inst_1) A (SMulZeroClass.toSMul.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toZero.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))))) (DistribSMul.toSMulZeroClass.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))))) (DistribMulAction.toDistribSMul.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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)))))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)))))) (SMulZeroClass.toSMul.{u1, u3} S A (AddMonoid.toZero.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribSMul.toSMulZeroClass.{u1, u3} S A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribMulAction.toDistribSMul.{u1, u3} S A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u2) u3, u1, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u4} σ R _inst_1) A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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)))))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u4 u2) u3, u1, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u4} σ R _inst_1) A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (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.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, max u4 u2, u3, max (max u4 u2) u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7 (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (AlgHom.algHomClass.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7))))) (MvPolynomial.aevalTower.{u4, u2, u1, u3} R σ _inst_1 S A _inst_3 _inst_4 _inst_6 _inst_7 g y) (MvPolynomial.X.{u4, u2} R σ _inst_1 i)) (y i)
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_tower_X MvPolynomial.aevalTower_Xₓ'. -/
+@[simp]
+theorem aevalTower_X (i : σ) : aevalTower g y (X i) = y i :=
+ eval₂_X _ _ _
+#align mv_polynomial.aeval_tower_X MvPolynomial.aevalTower_X
+
+/- warning: mv_polynomial.aeval_tower_C -> MvPolynomial.aevalTower_C is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {S : Type.{u3}} {A : Type.{u4}} [_inst_3 : CommSemiring.{u3} S] [_inst_4 : CommSemiring.{u4} A] [_inst_6 : Algebra.{u3, u1} S R _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1)] [_inst_7 : Algebra.{u3, u4} S A _inst_3 (CommSemiring.toSemiring.{u4} A _inst_4)] (g : AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) (y : σ -> A) (x : R), Eq.{succ u4} A (coeFn.{max (succ (max u2 u1)) (succ u4), max (succ (max u2 u1)) (succ u4)} (AlgHom.{u3, max u2 u1, u4} S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (fun (_x : AlgHom.{u3, max u2 u1, u4} S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) => (MvPolynomial.{u2, u1} σ R _inst_1) -> A) ([anonymous].{u3, max u2 u1, u4} S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (MvPolynomial.aevalTower.{u1, u2, u3, u4} R σ _inst_1 S A _inst_3 _inst_4 _inst_6 _inst_7 g y) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (MvPolynomial.C.{u1, u2} R σ _inst_1) x)) (coeFn.{max (succ u1) (succ u4), max (succ u1) (succ u4)} (AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) (fun (_x : AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) => R -> A) ([anonymous].{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) g x)
+but is expected to have type
+ forall {R : Type.{u4}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u4} R] {S : Type.{u1}} {A : Type.{u3}} [_inst_3 : CommSemiring.{u1} S] [_inst_4 : CommSemiring.{u3} A] [_inst_6 : Algebra.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1)] [_inst_7 : Algebra.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4)] (g : AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) (y : σ -> A) (x : R), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u2, u4} σ R _inst_1) => A) (FunLike.coe.{max (succ u2) (succ u4), succ u4, max (succ u2) (succ u4)} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u2, u4} σ R _inst_1) a) (MulHomClass.toFunLike.{max u2 u4, u4, max u2 u4} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (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))))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u4, u4, max u2 u4} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u2, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (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)))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u4, u4, max u2 u4} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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))) (RingHom.instRingHomClassRingHom.{u4, max u2 u4} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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))))))) (MvPolynomial.C.{u4, u2} R σ _inst_1) x)) (FunLike.coe.{max (max (succ u4) (succ u2)) (succ u3), max (succ u4) (succ u2), succ u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (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) => A) _x) (SMulHomClass.toFunLike.{max (max u4 u2) u3, u1, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u4} σ R _inst_1) A (SMulZeroClass.toSMul.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toZero.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))))) (DistribSMul.toSMulZeroClass.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))))) (DistribMulAction.toDistribSMul.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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)))))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)))))) (SMulZeroClass.toSMul.{u1, u3} S A (AddMonoid.toZero.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribSMul.toSMulZeroClass.{u1, u3} S A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribMulAction.toDistribSMul.{u1, u3} S A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u2) u3, u1, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u4} σ R _inst_1) A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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)))))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u4 u2) u3, u1, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u4} σ R _inst_1) A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (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.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, max u4 u2, u3, max (max u4 u2) u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7 (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (AlgHom.algHomClass.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7))))) (MvPolynomial.aevalTower.{u4, u2, u1, u3} R σ _inst_1 S A _inst_3 _inst_4 _inst_6 _inst_7 g y) (FunLike.coe.{max (succ u2) (succ u4), succ u4, max (succ u2) (succ u4)} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u2, u4} σ R _inst_1) _x) (MulHomClass.toFunLike.{max u2 u4, u4, max u2 u4} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (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))))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u4, u4, max u2 u4} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u2, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (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)))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u4, u4, max u2 u4} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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))) (RingHom.instRingHomClassRingHom.{u4, max u2 u4} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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))))))) (MvPolynomial.C.{u4, u2} R σ _inst_1) x)) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : R) => A) _x) (SMulHomClass.toFunLike.{max u4 u3, u1, u4, u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) S R A (SMulZeroClass.toSMul.{u1, u4} S R (AddMonoid.toZero.{u4} R (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u1, u4} S R (AddMonoid.toAddZeroClass.{u4} R (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u1, u4} S R (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6))))) (SMulZeroClass.toSMul.{u1, u3} S A (AddMonoid.toZero.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribSMul.toSMulZeroClass.{u1, u3} S A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribMulAction.toDistribSMul.{u1, u3} S A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7))))) (DistribMulActionHomClass.toSMulHomClass.{max u4 u3, u1, u4, u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) S R A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u4 u3, u1, u4, u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) S R A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, u4, u3, max u4 u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7 (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) (AlgHom.algHomClass.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7))))) g x)
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_tower_C MvPolynomial.aevalTower_Cₓ'. -/
+@[simp]
+theorem aevalTower_C (x : R) : aevalTower g y (C x) = g x :=
+ eval₂_C _ _ _
+#align mv_polynomial.aeval_tower_C MvPolynomial.aevalTower_C
+
+/- warning: mv_polynomial.aeval_tower_comp_C -> MvPolynomial.aevalTower_comp_C is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {S : Type.{u3}} {A : Type.{u4}} [_inst_3 : CommSemiring.{u3} S] [_inst_4 : CommSemiring.{u4} A] [_inst_6 : Algebra.{u3, u1} S R _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1)] [_inst_7 : Algebra.{u3, u4} S A _inst_3 (CommSemiring.toSemiring.{u4} A _inst_4)] (g : AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) (y : σ -> A), Eq.{max (succ u1) (succ u4)} (RingHom.{u1, u4} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A _inst_4))) (RingHom.comp.{u1, max u2 u1, u4} R (MvPolynomial.{u2, u1} σ R _inst_1) A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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))) (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A _inst_4)) ((fun (a : Sort.{max (succ (max u2 u1)) (succ u4)}) (b : Sort.{max (succ (max u2 u1)) (succ u4)}) [self : HasLiftT.{max (succ (max u2 u1)) (succ u4), max (succ (max u2 u1)) (succ u4)} a b] => self.0) (AlgHom.{u3, max u2 u1, u4} S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (RingHom.{max u2 u1, u4} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A _inst_4))) (HasLiftT.mk.{max (succ (max u2 u1)) (succ u4), max (succ (max u2 u1)) (succ u4)} (AlgHom.{u3, max u2 u1, u4} S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (RingHom.{max u2 u1, u4} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A _inst_4))) (CoeTCₓ.coe.{max (succ (max u2 u1)) (succ u4), max (succ (max u2 u1)) (succ u4)} (AlgHom.{u3, max u2 u1, u4} S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (RingHom.{max u2 u1, u4} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A _inst_4))) (RingHom.hasCoeT.{max (max u2 u1) u4, max u2 u1, u4} (AlgHom.{u3, max u2 u1, u4} S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A _inst_4)) (AlgHomClass.toRingHomClass.{max (max u2 u1) u4, u3, max u2 u1, u4} (AlgHom.{u3, max u2 u1, u4} S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7 (AlgHom.algHomClass.{u3, max u2 u1, u4} S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7))))) (MvPolynomial.aevalTower.{u1, u2, u3, u4} R σ _inst_1 S A _inst_3 _inst_4 _inst_6 _inst_7 g y)) (MvPolynomial.C.{u1, u2} R σ _inst_1)) ((fun (a : Sort.{max (succ u1) (succ u4)}) (b : Sort.{max (succ u1) (succ u4)}) [self : HasLiftT.{max (succ u1) (succ u4), max (succ u1) (succ u4)} a b] => self.0) (AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) (RingHom.{u1, u4} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A _inst_4))) (HasLiftT.mk.{max (succ u1) (succ u4), max (succ u1) (succ u4)} (AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) (RingHom.{u1, u4} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A _inst_4))) (CoeTCₓ.coe.{max (succ u1) (succ u4), max (succ u1) (succ u4)} (AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) (RingHom.{u1, u4} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A _inst_4))) (RingHom.hasCoeT.{max u1 u4, u1, u4} (AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A _inst_4)) (AlgHomClass.toRingHomClass.{max u1 u4, u3, u1, u4} (AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7 (AlgHom.algHomClass.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7))))) g)
+but is expected to have type
+ forall {R : Type.{u4}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u4} R] {S : Type.{u1}} {A : Type.{u3}} [_inst_3 : CommSemiring.{u1} S] [_inst_4 : CommSemiring.{u3} A] [_inst_6 : Algebra.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1)] [_inst_7 : Algebra.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4)] (g : AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) (y : σ -> A), Eq.{max (succ u4) (succ u3)} (RingHom.{u4, u3} R A (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))) (RingHom.comp.{u4, max u4 u2, u3} R (MvPolynomial.{u2, u4} σ R _inst_1) A (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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))) (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)) (RingHomClass.toRingHom.{max (max u4 u2) u3, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (MvPolynomial.{u2, u4} σ R _inst_1) A (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.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)) (AlgHomClass.toRingHomClass.{max (max u4 u2) u3, u1, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7 (AlgHom.algHomClass.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7)) (MvPolynomial.aevalTower.{u4, u2, u1, u3} R σ _inst_1 S A _inst_3 _inst_4 _inst_6 _inst_7 g y)) (MvPolynomial.C.{u4, u2} R σ _inst_1)) (RingHomClass.toRingHom.{max u4 u3, u4, u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) R A (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)) (AlgHomClass.toRingHomClass.{max u4 u3, u1, u4, u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7 (AlgHom.algHomClass.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7)) g)
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_tower_comp_C MvPolynomial.aevalTower_comp_Cₓ'. -/
+@[simp]
+theorem aevalTower_comp_C : (aevalTower g y : MvPolynomial σ R →+* A).comp C = g :=
+ RingHom.ext <| aevalTower_C _ _
+#align mv_polynomial.aeval_tower_comp_C MvPolynomial.aevalTower_comp_C
+
+/- warning: mv_polynomial.aeval_tower_algebra_map -> MvPolynomial.aevalTower_algebraMap is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {S : Type.{u3}} {A : Type.{u4}} [_inst_3 : CommSemiring.{u3} S] [_inst_4 : CommSemiring.{u4} A] [_inst_6 : Algebra.{u3, u1} S R _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1)] [_inst_7 : Algebra.{u3, u4} S A _inst_3 (CommSemiring.toSemiring.{u4} A _inst_4)] (g : AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) (y : σ -> A) (x : R), Eq.{succ u4} A (coeFn.{max (succ (max u2 u1)) (succ u4), max (succ (max u2 u1)) (succ u4)} (AlgHom.{u3, max u2 u1, u4} S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (fun (_x : AlgHom.{u3, max u2 u1, u4} S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) => (MvPolynomial.{u2, u1} σ R _inst_1) -> A) ([anonymous].{u3, max u2 u1, u4} S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (MvPolynomial.aevalTower.{u1, u2, u3, u4} R σ _inst_1 S A _inst_3 _inst_4 _inst_6 _inst_7 g y) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (fun (_x : RingHom.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) (RingHom.hasCoeToFun.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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)))) (algebraMap.{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))) x)) (coeFn.{max (succ u1) (succ u4), max (succ u1) (succ u4)} (AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) (fun (_x : AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) => R -> A) ([anonymous].{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) g x)
+but is expected to have type
+ forall {R : Type.{u4}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u4} R] {S : Type.{u1}} {A : Type.{u3}} [_inst_3 : CommSemiring.{u1} S] [_inst_4 : CommSemiring.{u3} A] [_inst_6 : Algebra.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1)] [_inst_7 : Algebra.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4)] (g : AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) (y : σ -> A) (x : R), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u2, u4} σ R _inst_1) => A) (FunLike.coe.{max (succ u4) (succ u2), succ u4, max (succ u4) (succ u2)} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u2, u4} σ R _inst_1) a) (MulHomClass.toFunLike.{max u4 u2, u4, max u4 u2} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (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))))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u2, u4, max u4 u2} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u2, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) (RingHomClass.toNonUnitalRingHomClass.{max u4 u2, u4, max u4 u2} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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))) (RingHom.instRingHomClassRingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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))))))) (algebraMap.{u4, max u4 u2} 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))) x)) (FunLike.coe.{max (max (succ u4) (succ u2)) (succ u3), max (succ u4) (succ u2), succ u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (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) => A) _x) (SMulHomClass.toFunLike.{max (max u4 u2) u3, u1, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u4} σ R _inst_1) A (SMulZeroClass.toSMul.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toZero.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))))) (DistribSMul.toSMulZeroClass.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))))) (DistribMulAction.toDistribSMul.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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)))))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)))))) (SMulZeroClass.toSMul.{u1, u3} S A (AddMonoid.toZero.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribSMul.toSMulZeroClass.{u1, u3} S A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribMulAction.toDistribSMul.{u1, u3} S A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u2) u3, u1, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u4} σ R _inst_1) A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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)))))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u4 u2) u3, u1, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u4} σ R _inst_1) A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (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.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, max u4 u2, u3, max (max u4 u2) u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7 (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (AlgHom.algHomClass.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7))))) (MvPolynomial.aevalTower.{u4, u2, u1, u3} R σ _inst_1 S A _inst_3 _inst_4 _inst_6 _inst_7 g y) (FunLike.coe.{max (succ u4) (succ u2), succ u4, max (succ u4) (succ u2)} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u2, u4} σ R _inst_1) _x) (MulHomClass.toFunLike.{max u4 u2, u4, max u4 u2} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (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))))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u2, u4, max u4 u2} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u2, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) (RingHomClass.toNonUnitalRingHomClass.{max u4 u2, u4, max u4 u2} (RingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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))) (RingHom.instRingHomClassRingHom.{u4, max u4 u2} R (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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))))))) (algebraMap.{u4, max u4 u2} 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))) x)) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : R) => A) _x) (SMulHomClass.toFunLike.{max u4 u3, u1, u4, u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) S R A (SMulZeroClass.toSMul.{u1, u4} S R (AddMonoid.toZero.{u4} R (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u1, u4} S R (AddMonoid.toAddZeroClass.{u4} R (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u1, u4} S R (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6))))) (SMulZeroClass.toSMul.{u1, u3} S A (AddMonoid.toZero.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribSMul.toSMulZeroClass.{u1, u3} S A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribMulAction.toDistribSMul.{u1, u3} S A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7))))) (DistribMulActionHomClass.toSMulHomClass.{max u4 u3, u1, u4, u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) S R A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u4 u3, u1, u4, u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) S R A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, u4, u3, max u4 u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7 (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) (AlgHom.algHomClass.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7))))) g x)
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_tower_algebra_map MvPolynomial.aevalTower_algebraMapₓ'. -/
@[simp]
theorem aevalTower_algebraMap (x : R) : aevalTower g y (algebraMap R (MvPolynomial σ R) x) = g x :=
- eval₂_c _ _ _
+ eval₂_C _ _ _
#align mv_polynomial.aeval_tower_algebra_map MvPolynomial.aevalTower_algebraMap
+/- warning: mv_polynomial.aeval_tower_comp_algebra_map -> MvPolynomial.aevalTower_comp_algebraMap is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {S : Type.{u3}} {A : Type.{u4}} [_inst_3 : CommSemiring.{u3} S] [_inst_4 : CommSemiring.{u4} A] [_inst_6 : Algebra.{u3, u1} S R _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1)] [_inst_7 : Algebra.{u3, u4} S A _inst_3 (CommSemiring.toSemiring.{u4} A _inst_4)] (g : AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) (y : σ -> A), Eq.{max (succ u1) (succ u4)} (RingHom.{u1, u4} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A _inst_4))) (RingHom.comp.{u1, max u2 u1, u4} R (MvPolynomial.{u2, u1} σ R _inst_1) A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{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))) (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A _inst_4)) ((fun (a : Sort.{max (succ (max u2 u1)) (succ u4)}) (b : Sort.{max (succ (max u2 u1)) (succ u4)}) [self : HasLiftT.{max (succ (max u2 u1)) (succ u4), max (succ (max u2 u1)) (succ u4)} a b] => self.0) (AlgHom.{u3, max u2 u1, u4} S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (RingHom.{max u2 u1, u4} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A _inst_4))) (HasLiftT.mk.{max (succ (max u2 u1)) (succ u4), max (succ (max u2 u1)) (succ u4)} (AlgHom.{u3, max u2 u1, u4} S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (RingHom.{max u2 u1, u4} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A _inst_4))) (CoeTCₓ.coe.{max (succ (max u2 u1)) (succ u4), max (succ (max u2 u1)) (succ u4)} (AlgHom.{u3, max u2 u1, u4} S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (RingHom.{max u2 u1, u4} (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A _inst_4))) (RingHom.hasCoeT.{max (max u2 u1) u4, max u2 u1, u4} (AlgHom.{u3, max u2 u1, u4} S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (MvPolynomial.{u2, u1} σ R _inst_1) A (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))) (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A _inst_4)) (AlgHomClass.toRingHomClass.{max (max u2 u1) u4, u3, max u2 u1, u4} (AlgHom.{u3, max u2 u1, u4} S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7 (AlgHom.algHomClass.{u3, max u2 u1, u4} S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7))))) (MvPolynomial.aevalTower.{u1, u2, u3, u4} R σ _inst_1 S A _inst_3 _inst_4 _inst_6 _inst_7 g y)) (algebraMap.{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)))) ((fun (a : Sort.{max (succ u1) (succ u4)}) (b : Sort.{max (succ u1) (succ u4)}) [self : HasLiftT.{max (succ u1) (succ u4), max (succ u1) (succ u4)} a b] => self.0) (AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) (RingHom.{u1, u4} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A _inst_4))) (HasLiftT.mk.{max (succ u1) (succ u4), max (succ u1) (succ u4)} (AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) (RingHom.{u1, u4} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A _inst_4))) (CoeTCₓ.coe.{max (succ u1) (succ u4), max (succ u1) (succ u4)} (AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) (RingHom.{u1, u4} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A _inst_4))) (RingHom.hasCoeT.{max u1 u4, u1, u4} (AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A _inst_4)) (AlgHomClass.toRingHomClass.{max u1 u4, u3, u1, u4} (AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7 (AlgHom.algHomClass.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7))))) g)
+but is expected to have type
+ forall {R : Type.{u4}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u4} R] {S : Type.{u1}} {A : Type.{u3}} [_inst_3 : CommSemiring.{u1} S] [_inst_4 : CommSemiring.{u3} A] [_inst_6 : Algebra.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1)] [_inst_7 : Algebra.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4)] (g : AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) (y : σ -> A), Eq.{max (succ u4) (succ u3)} (RingHom.{u4, u3} R A (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))) (RingHom.comp.{u4, max u4 u2, u3} R (MvPolynomial.{u2, u4} σ R _inst_1) A (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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))) (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)) (RingHomClass.toRingHom.{max (max u4 u2) u3, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (MvPolynomial.{u2, u4} σ R _inst_1) A (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.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)) (AlgHomClass.toRingHomClass.{max (max u4 u2) u3, u1, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7 (AlgHom.algHomClass.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7)) (MvPolynomial.aevalTower.{u4, u2, u1, u3} R σ _inst_1 S A _inst_3 _inst_4 _inst_6 _inst_7 g y)) (algebraMap.{u4, max u4 u2} 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)))) (RingHomClass.toRingHom.{max u4 u3, u4, u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) R A (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)) (AlgHomClass.toRingHomClass.{max u4 u3, u1, u4, u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7 (AlgHom.algHomClass.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7)) g)
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_tower_comp_algebra_map MvPolynomial.aevalTower_comp_algebraMapₓ'. -/
@[simp]
theorem aevalTower_comp_algebraMap :
(aevalTower g y : MvPolynomial σ R →+* A).comp (algebraMap R (MvPolynomial σ R)) = g :=
- aevalTower_comp_c _ _
+ aevalTower_comp_C _ _
#align mv_polynomial.aeval_tower_comp_algebra_map MvPolynomial.aevalTower_comp_algebraMap
+/- warning: mv_polynomial.aeval_tower_to_alg_hom -> MvPolynomial.aevalTower_toAlgHom is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {S : Type.{u3}} {A : Type.{u4}} [_inst_3 : CommSemiring.{u3} S] [_inst_4 : CommSemiring.{u4} A] [_inst_6 : Algebra.{u3, u1} S R _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1)] [_inst_7 : Algebra.{u3, u4} S A _inst_3 (CommSemiring.toSemiring.{u4} A _inst_4)] (g : AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) (y : σ -> A) (x : R), Eq.{succ u4} A (coeFn.{max (succ (max u2 u1)) (succ u4), max (succ (max u2 u1)) (succ u4)} (AlgHom.{u3, max u2 u1, u4} S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (fun (_x : AlgHom.{u3, max u2 u1, u4} S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) => (MvPolynomial.{u2, u1} σ R _inst_1) -> A) ([anonymous].{u3, max u2 u1, u4} S (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (MvPolynomial.aevalTower.{u1, u2, u3, u4} R σ _inst_1 S A _inst_3 _inst_4 _inst_6 _inst_7 g y) (coeFn.{max (succ u1) (succ (max u2 u1)), max (succ u1) (succ (max u2 u1))} (AlgHom.{u3, u1, max u2 u1} S R (MvPolynomial.{u2, u1} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6)) (fun (_x : AlgHom.{u3, u1, max u2 u1} S R (MvPolynomial.{u2, u1} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6)) => R -> (MvPolynomial.{u2, u1} σ R _inst_1)) ([anonymous].{u3, u1, max u2 u1} S R (MvPolynomial.{u2, u1} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6)) (IsScalarTower.toAlgHom.{u3, u1, max u2 u1} S R (MvPolynomial.{u2, u1} σ R _inst_1) _inst_3 _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) (MvPolynomial.isScalarTower.{u3, u1, u1, u2} S R R σ (MonoidWithZero.toMonoid.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) _inst_1 (SMulZeroClass.toHasSmul.{u3, u1} S R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (SMulWithZero.toSmulZeroClass.{u3, u1} S R (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3))))) (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (MulActionWithZero.toSMulWithZero.{u3, u1} S R (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3)) (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (Module.toMulActionWithZero.{u3, u1} S R (CommSemiring.toSemiring.{u3} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u3, u1} S R _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6))))) (Module.toDistribMulAction.{u3, u1} S R (CommSemiring.toSemiring.{u3} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u3, u1} S R _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (IsScalarTower.right.{u3, u1} S R _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6))) x)) (coeFn.{max (succ u1) (succ u4), max (succ u1) (succ u4)} (AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) (fun (_x : AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) => R -> A) ([anonymous].{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) g x)
+but is expected to have type
+ forall {R : Type.{u4}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u4} R] {S : Type.{u1}} {A : Type.{u3}} [_inst_3 : CommSemiring.{u1} S] [_inst_4 : CommSemiring.{u3} A] [_inst_6 : Algebra.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1)] [_inst_7 : Algebra.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4)] (g : AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) (y : σ -> A) (x : R), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u2, u4} σ R _inst_1) => A) (FunLike.coe.{max (succ u4) (succ u2), succ u4, max (succ u4) (succ u2)} (AlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : R) => MvPolynomial.{u2, u4} σ R _inst_1) a) (SMulHomClass.toFunLike.{max u4 u2, u1, u4, max u4 u2} (AlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)) S R (MvPolynomial.{u2, u4} σ R _inst_1) (SMulZeroClass.toSMul.{u1, u4} S R (AddMonoid.toZero.{u4} R (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u1, u4} S R (AddMonoid.toAddZeroClass.{u4} R (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u1, u4} S R (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6))))) (SMulZeroClass.toSMul.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toZero.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))))) (DistribSMul.toSMulZeroClass.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))))) (DistribMulAction.toDistribSMul.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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)))))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)))))) (DistribMulActionHomClass.toSMulHomClass.{max u4 u2, u1, u4, max u4 u2} (AlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)) S R (MvPolynomial.{u2, u4} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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)))))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u4 u2, u1, u4, max u4 u2} (AlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)) S R (MvPolynomial.{u2, u4} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, u4, max u4 u2, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) (AlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)) (AlgHom.algHomClass.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)))))) (IsScalarTower.toAlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 _inst_1 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u4, u4, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) (MvPolynomial.isScalarTower.{u1, u4, u4, u2} S R R σ (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) _inst_1 (Algebra.toSMul.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u4, u4} R R (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (IsScalarTower.right.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6))) x)) (FunLike.coe.{max (max (succ u4) (succ u2)) (succ u3), max (succ u4) (succ u2), succ u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (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) => A) _x) (SMulHomClass.toFunLike.{max (max u4 u2) u3, u1, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u4} σ R _inst_1) A (SMulZeroClass.toSMul.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toZero.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))))) (DistribSMul.toSMulZeroClass.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))))) (DistribMulAction.toDistribSMul.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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)))))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)))))) (SMulZeroClass.toSMul.{u1, u3} S A (AddMonoid.toZero.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribSMul.toSMulZeroClass.{u1, u3} S A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribMulAction.toDistribSMul.{u1, u3} S A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u2) u3, u1, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u4} σ R _inst_1) A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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)))))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u4 u2) u3, u1, max u4 u2, u3} (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) S (MvPolynomial.{u2, u4} σ R _inst_1) A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (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.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, max u4 u2, u3, max (max u4 u2) u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7 (AlgHom.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7) (AlgHom.algHomClass.{u1, max u4 u2, u3} S (MvPolynomial.{u2, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7))))) (MvPolynomial.aevalTower.{u4, u2, u1, u3} R σ _inst_1 S A _inst_3 _inst_4 _inst_6 _inst_7 g y) (FunLike.coe.{max (succ u4) (succ u2), succ u4, max (succ u4) (succ u2)} (AlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : R) => MvPolynomial.{u2, u4} σ R _inst_1) _x) (SMulHomClass.toFunLike.{max u4 u2, u1, u4, max u4 u2} (AlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)) S R (MvPolynomial.{u2, u4} σ R _inst_1) (SMulZeroClass.toSMul.{u1, u4} S R (AddMonoid.toZero.{u4} R (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u1, u4} S R (AddMonoid.toAddZeroClass.{u4} R (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u1, u4} S R (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6))))) (SMulZeroClass.toSMul.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toZero.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))))) (DistribSMul.toSMulZeroClass.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))))) (DistribMulAction.toDistribSMul.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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)))))) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)))))) (DistribMulActionHomClass.toSMulHomClass.{max u4 u2, u1, u4, max u4 u2} (AlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)) S R (MvPolynomial.{u2, u4} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) (AddCommMonoid.toAddMonoid.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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)))))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u4 u2, u1, u4, max u4 u2} (AlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)) S R (MvPolynomial.{u2, u4} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{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)))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{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))))) (Algebra.toModule.{u1, max u4 u2} S (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, u4, max u4 u2, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) (AlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)) (AlgHom.algHomClass.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6)))))) (IsScalarTower.toAlgHom.{u1, u4, max u4 u2} S R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_3 _inst_1 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u4, u4, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) (MvPolynomial.algebra.{u1, u4, u2} S R σ _inst_3 _inst_1 _inst_6) (MvPolynomial.isScalarTower.{u1, u4, u4, u2} S R R σ (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) _inst_1 (Algebra.toSMul.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u4, u4} R R (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (IsScalarTower.right.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6))) x)) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : R) => A) _x) (SMulHomClass.toFunLike.{max u4 u3, u1, u4, u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) S R A (SMulZeroClass.toSMul.{u1, u4} S R (AddMonoid.toZero.{u4} R (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))))) (DistribSMul.toSMulZeroClass.{u1, u4} S R (AddMonoid.toAddZeroClass.{u4} R (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))))) (DistribMulAction.toDistribSMul.{u1, u4} S R (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6))))) (SMulZeroClass.toSMul.{u1, u3} S A (AddMonoid.toZero.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribSMul.toSMulZeroClass.{u1, u3} S A (AddMonoid.toAddZeroClass.{u3} A (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))))) (DistribMulAction.toDistribSMul.{u1, u3} S A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7))))) (DistribMulActionHomClass.toSMulHomClass.{max u4 u3, u1, u4, u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) S R A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (AddCommMonoid.toAddMonoid.{u4} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))))) (AddCommMonoid.toAddMonoid.{u3} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u4 u3, u1, u4, u3} (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) S R A (MonoidWithZero.toMonoid.{u1} S (Semiring.toMonoidWithZero.{u1} S (CommSemiring.toSemiring.{u1} S _inst_3))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4))) (Module.toDistribMulAction.{u1, u4} S R (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u1, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u1, u3} S A (CommSemiring.toSemiring.{u1} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (CommSemiring.toSemiring.{u3} A _inst_4)))) (Algebra.toModule.{u1, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, u4, u3, max u4 u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7 (AlgHom.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) (AlgHom.algHomClass.{u1, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7))))) g x)
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_tower_to_alg_hom MvPolynomial.aevalTower_toAlgHomₓ'. -/
theorem aevalTower_toAlgHom (x : R) :
aevalTower g y (IsScalarTower.toAlgHom S R (MvPolynomial σ R) x) = g x :=
aevalTower_algebraMap _ _ _
#align mv_polynomial.aeval_tower_to_alg_hom MvPolynomial.aevalTower_toAlgHom
+/- warning: mv_polynomial.aeval_tower_comp_to_alg_hom -> MvPolynomial.aevalTower_comp_toAlgHom is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {S : Type.{u3}} {A : Type.{u4}} [_inst_3 : CommSemiring.{u3} S] [_inst_4 : CommSemiring.{u4} A] [_inst_6 : Algebra.{u3, u1} S R _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1)] [_inst_7 : Algebra.{u3, u4} S A _inst_3 (CommSemiring.toSemiring.{u4} A _inst_4)] (g : AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) (y : σ -> A), Eq.{max (succ u1) (succ u4)} (AlgHom.{u3, u1, u4} S R A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 _inst_7) (AlgHom.comp.{u3, u1, max u2 u1, u4} S R (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_4) _inst_6 (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) _inst_7 (MvPolynomial.aevalTower.{u1, u2, u3, u4} R σ _inst_1 S A _inst_3 _inst_4 _inst_6 _inst_7 g y) (IsScalarTower.toAlgHom.{u3, u1, max u2 u1} S R (MvPolynomial.{u2, u1} σ R _inst_1) _inst_3 _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u3, u1, u2} S R σ _inst_3 _inst_1 _inst_6) (MvPolynomial.isScalarTower.{u3, u1, u1, u2} S R R σ (MonoidWithZero.toMonoid.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) _inst_1 (SMulZeroClass.toHasSmul.{u3, u1} S R (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (SMulWithZero.toSmulZeroClass.{u3, u1} S R (MulZeroClass.toHasZero.{u3} S (MulZeroOneClass.toMulZeroClass.{u3} S (MonoidWithZero.toMulZeroOneClass.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3))))) (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (MulActionWithZero.toSMulWithZero.{u3, u1} S R (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_3)) (AddZeroClass.toHasZero.{u1} R (AddMonoid.toAddZeroClass.{u1} R (AddCommMonoid.toAddMonoid.{u1} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (Module.toMulActionWithZero.{u3, u1} S R (CommSemiring.toSemiring.{u3} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u3, u1} S R _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6))))) (Module.toDistribMulAction.{u3, u1} S R (CommSemiring.toSemiring.{u3} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u3, u1} S R _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (IsScalarTower.right.{u3, u1} S R _inst_3 (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6)))) g
+but is expected to have type
+ forall {R : Type.{u4}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u4} R] {S : Type.{u2}} {A : Type.{u3}} [_inst_3 : CommSemiring.{u2} S] [_inst_4 : CommSemiring.{u3} A] [_inst_6 : Algebra.{u2, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1)] [_inst_7 : Algebra.{u2, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4)] (g : AlgHom.{u2, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) (y : σ -> A), Eq.{max (succ u4) (succ u3)} (AlgHom.{u2, u4, u3} S R A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 _inst_7) (AlgHom.comp.{u2, u4, max u4 u1, u3} S R (MvPolynomial.{u1, u4} σ R _inst_1) A _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} A _inst_4) _inst_6 (MvPolynomial.algebra.{u2, u4, u1} S R σ _inst_3 _inst_1 _inst_6) _inst_7 (MvPolynomial.aevalTower.{u4, u1, u2, u3} R σ _inst_1 S A _inst_3 _inst_4 _inst_6 _inst_7 g y) (IsScalarTower.toAlgHom.{u2, u4, max u4 u1} S R (MvPolynomial.{u1, u4} σ R _inst_1) _inst_3 _inst_1 (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1)) _inst_6 (MvPolynomial.algebra.{u4, u4, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) (MvPolynomial.algebra.{u2, u4, u1} S R σ _inst_3 _inst_1 _inst_6) (MvPolynomial.isScalarTower.{u2, u4, u4, u1} S R R σ (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S _inst_3))) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) _inst_1 (Algebra.toSMul.{u2, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6) (Module.toDistribMulAction.{u2, u4} S R (CommSemiring.toSemiring.{u2} S _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Algebra.toModule.{u2, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)) (Module.toDistribMulAction.{u4, u4} R R (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)))) (Semiring.toModule.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (IsScalarTower.right.{u2, u4} S R _inst_3 (CommSemiring.toSemiring.{u4} R _inst_1) _inst_6)))) g
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_tower_comp_to_alg_hom MvPolynomial.aevalTower_comp_toAlgHomₓ'. -/
@[simp]
theorem aevalTower_comp_toAlgHom :
(aevalTower g y).comp (IsScalarTower.toAlgHom S R (MvPolynomial σ R)) = g :=
AlgHom.coe_ringHom_injective <| aevalTower_comp_algebraMap _ _
#align mv_polynomial.aeval_tower_comp_to_alg_hom MvPolynomial.aevalTower_comp_toAlgHom
+/- warning: mv_polynomial.aeval_tower_id -> MvPolynomial.aevalTower_id is a dubious translation:
+lean 3 declaration is
+ forall {σ : Type.{u1}} {S : Type.{u2}} [_inst_3 : CommSemiring.{u2} S], Eq.{max (max (succ u1) (succ u2)) (succ (max u1 u2)) (succ u2)} ((σ -> S) -> (AlgHom.{u2, max u1 u2, u2} S (MvPolynomial.{u1, u2} σ S _inst_3) S _inst_3 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ S _inst_3) (MvPolynomial.commSemiring.{u2, u1} S σ _inst_3)) (CommSemiring.toSemiring.{u2} S _inst_3) (MvPolynomial.algebra.{u2, u2, u1} S S σ _inst_3 _inst_3 (Algebra.id.{u2} S _inst_3)) (Algebra.id.{u2} S _inst_3))) (MvPolynomial.aevalTower.{u2, u1, u2, u2} S σ _inst_3 S S _inst_3 _inst_3 (Algebra.id.{u2} S _inst_3) (Algebra.id.{u2} S _inst_3) (AlgHom.id.{u2, u2} S S _inst_3 (CommSemiring.toSemiring.{u2} S _inst_3) (Algebra.id.{u2} S _inst_3))) (MvPolynomial.aeval.{u2, u2, u1} S S σ _inst_3 _inst_3 (Algebra.id.{u2} S _inst_3))
+but is expected to have type
+ forall {σ : Type.{u2}} {S : Type.{u1}} [_inst_3 : CommSemiring.{u1} S], Eq.{max (succ u2) (succ u1)} ((σ -> S) -> (AlgHom.{u1, max u1 u2, u1} S (MvPolynomial.{u2, u1} σ S _inst_3) S _inst_3 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ S _inst_3) (MvPolynomial.commSemiring.{u1, u2} S σ _inst_3)) (CommSemiring.toSemiring.{u1} S _inst_3) (MvPolynomial.algebra.{u1, u1, u2} S S σ _inst_3 _inst_3 (Algebra.id.{u1} S _inst_3)) (Algebra.id.{u1} S _inst_3))) (MvPolynomial.aevalTower.{u1, u2, u1, u1} S σ _inst_3 S S _inst_3 _inst_3 (Algebra.id.{u1} S _inst_3) (Algebra.id.{u1} S _inst_3) (AlgHom.id.{u1, u1} S S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_3) (Algebra.id.{u1} S _inst_3))) (MvPolynomial.aeval.{u1, u1, u2} S S σ _inst_3 _inst_3 (Algebra.id.{u1} S _inst_3))
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_tower_id MvPolynomial.aevalTower_idₓ'. -/
@[simp]
theorem aevalTower_id : aevalTower (AlgHom.id S S) = (aeval : (σ → S) → MvPolynomial σ S →ₐ[S] S) :=
by
@@ -1601,6 +2849,12 @@ theorem aevalTower_id : aevalTower (AlgHom.id S S) = (aeval : (σ → S) → MvP
simp only [aeval_tower_X, aeval_X]
#align mv_polynomial.aeval_tower_id MvPolynomial.aevalTower_id
+/- warning: mv_polynomial.aeval_tower_of_id -> MvPolynomial.aevalTower_ofId is a dubious translation:
+lean 3 declaration is
+ forall {σ : Type.{u1}} {S : Type.{u2}} {A : Type.{u3}} [_inst_3 : CommSemiring.{u2} S] [_inst_4 : CommSemiring.{u3} A] [_inst_7 : Algebra.{u2, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4)], Eq.{max (max (succ u1) (succ u3)) (succ (max u1 u2)) (succ u3)} ((σ -> A) -> (AlgHom.{u2, max u1 u2, u3} S (MvPolynomial.{u1, u2} σ S _inst_3) A _inst_3 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ S _inst_3) (MvPolynomial.commSemiring.{u2, u1} S σ _inst_3)) (CommSemiring.toSemiring.{u3} A _inst_4) (MvPolynomial.algebra.{u2, u2, u1} S S σ _inst_3 _inst_3 (Algebra.id.{u2} S _inst_3)) _inst_7)) (MvPolynomial.aevalTower.{u2, u1, u2, u3} S σ _inst_3 S A _inst_3 _inst_4 (Algebra.id.{u2} S _inst_3) _inst_7 (Algebra.ofId.{u2, u3} S A _inst_3 (CommSemiring.toSemiring.{u3} A _inst_4) _inst_7)) (MvPolynomial.aeval.{u2, u3, u1} S A σ _inst_3 _inst_4 _inst_7)
+but is expected to have type
+ forall {σ : Type.{u3}} {S : Type.{u2}} {A : Type.{u1}} [_inst_3 : CommSemiring.{u2} S] [_inst_4 : CommSemiring.{u1} A] [_inst_7 : Algebra.{u2, u1} S A _inst_3 (CommSemiring.toSemiring.{u1} A _inst_4)], Eq.{max (max (succ u3) (succ u2)) (succ u1)} ((σ -> A) -> (AlgHom.{u2, max u2 u3, u1} S (MvPolynomial.{u3, u2} σ S _inst_3) A _inst_3 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ S _inst_3) (MvPolynomial.commSemiring.{u2, u3} S σ _inst_3)) (CommSemiring.toSemiring.{u1} A _inst_4) (MvPolynomial.algebra.{u2, u2, u3} S S σ _inst_3 _inst_3 (Algebra.id.{u2} S _inst_3)) _inst_7)) (MvPolynomial.aevalTower.{u2, u3, u2, u1} S σ _inst_3 S A _inst_3 _inst_4 (Algebra.id.{u2} S _inst_3) _inst_7 (Algebra.ofId.{u2, u1} S A _inst_3 (CommSemiring.toSemiring.{u1} A _inst_4) _inst_7)) (MvPolynomial.aeval.{u2, u1, u3} S A σ _inst_3 _inst_4 _inst_7)
+Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_tower_of_id MvPolynomial.aevalTower_ofIdₓ'. -/
@[simp]
theorem aevalTower_ofId :
aevalTower (Algebra.ofId S A) = (aeval : (σ → A) → MvPolynomial σ S →ₐ[S] A) :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/3180fab693e2cee3bff62675571264cb8778b212
@@ -729,7 +729,7 @@ theorem coeff_mul_monomial' (m) (s : σ →₀ ℕ) (r : R) (p : MvPolynomial σ
coeff m (p * monomial s r) = if s ≤ m then coeff (m - s) p * r else 0 :=
by
obtain rfl | hr := eq_or_ne r 0
- · simp only [monomial_zero, coeff_zero, mul_zero, if_t_t]
+ · simp only [monomial_zero, coeff_zero, MulZeroClass.mul_zero, if_t_t]
haveI : Nontrivial R := nontrivial_of_ne _ _ hr
split_ifs with h h
· conv_rhs => rw [← coeff_mul_monomial _ s]
@@ -806,7 +806,7 @@ theorem c_dvd_iff_dvd_coeff (r : R) (φ : MvPolynomial σ R) : c r ∣ φ ↔
split_ifs with hi hi
· rw [hc]
· rw [not_mem_support_iff] at hi
- rwa [mul_zero]
+ rwa [MulZeroClass.mul_zero]
#align mv_polynomial.C_dvd_iff_dvd_coeff MvPolynomial.c_dvd_iff_dvd_coeff
end Coeff
@@ -1504,7 +1504,7 @@ theorem eval₂Hom_eq_zero (f : R →+* S₂) (g : σ → S₂) (φ : MvPolynomi
rw [φ.as_sum, RingHom.map_sum, Finset.sum_eq_zero]
intro d hd
obtain ⟨i, hi, hgi⟩ : ∃ i ∈ d.support, g i = 0 := h d (finsupp.mem_support_iff.mp hd)
- rw [eval₂_hom_monomial, Finsupp.prod, Finset.prod_eq_zero hi, mul_zero]
+ rw [eval₂_hom_monomial, Finsupp.prod, Finset.prod_eq_zero hi, MulZeroClass.mul_zero]
rw [hgi, zero_pow]
rwa [pos_iff_ne_zero, ← Finsupp.mem_support_iff]
#align mv_polynomial.eval₂_hom_eq_zero MvPolynomial.eval₂Hom_eq_zero
mathlib commit https://github.com/leanprover-community/mathlib/commit/38f16f960f5006c6c0c2bac7b0aba5273188f4e5
@@ -544,7 +544,7 @@ section Coeff
/-- The coefficient of the monomial `m` in the multi-variable polynomial `p`. -/
def coeff (m : σ →₀ ℕ) (p : MvPolynomial σ R) : R :=
- @coeFn _ _ (MonoidAlgebra.hasCoeToFun _ _) p m
+ @coeFn _ _ (MonoidAlgebra.coeFun _ _) p m
#align mv_polynomial.coeff MvPolynomial.coeff
@[simp]
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
{Mv}Polynomial.algebraMap_apply
simps (#11193)
Polynomial.algebraMap_eq
analogous to MvPolynomial.algebraMap_eq
simp
to these, and the related {Mv}Polynomial.algebraMap_apply
lemmas.
Co-authored-by: Floris van Doorn <fpvdoorn@gmail.com>
@@ -178,6 +178,7 @@ def C : R →+* MvPolynomial σ R :=
variable (R σ)
+@[simp]
theorem algebraMap_eq : algebraMap R (MvPolynomial σ R) = C :=
rfl
#align mv_polynomial.algebra_map_eq MvPolynomial.algebraMap_eq
@@ -931,7 +932,6 @@ theorem constantCoeff_comp_C : constantCoeff.comp (C : R →+* MvPolynomial σ R
exact constantCoeff_C σ x
#align mv_polynomial.constant_coeff_comp_C MvPolynomial.constantCoeff_comp_C
-@[simp]
theorem constantCoeff_comp_algebraMap :
constantCoeff.comp (algebraMap R (MvPolynomial σ R)) = RingHom.id R :=
constantCoeff_comp_C _ _
@@ -1459,6 +1459,7 @@ section Aeval
variable [Algebra R S₁] [CommSemiring S₂]
variable (f : σ → S₁)
+@[simp]
theorem algebraMap_apply (r : R) : algebraMap R (MvPolynomial σ S₁) r = C (algebraMap R S₁ r) := rfl
#align mv_polynomial.algebra_map_apply MvPolynomial.algebraMap_apply
@@ -1642,12 +1643,10 @@ theorem aevalTower_comp_C : (aevalTower g y : MvPolynomial σ R →+* A).comp C
RingHom.ext <| aevalTower_C _ _
#align mv_polynomial.aeval_tower_comp_C MvPolynomial.aevalTower_comp_C
-@[simp]
theorem aevalTower_algebraMap (x : R) : aevalTower g y (algebraMap R (MvPolynomial σ R) x) = g x :=
eval₂_C _ _ _
#align mv_polynomial.aeval_tower_algebra_map MvPolynomial.aevalTower_algebraMap
-@[simp]
theorem aevalTower_comp_algebraMap :
(aevalTower g y : MvPolynomial σ R →+* A).comp (algebraMap R (MvPolynomial σ R)) = g :=
aevalTower_comp_C _ _
Refactors the proof of this lemma. Adds a simp lemma to do this, and also adds MvPolynomial analogue
@@ -833,6 +833,10 @@ theorem support_eq_empty {p : MvPolynomial σ R} : p.support = ∅ ↔ p = 0 :=
Finsupp.support_eq_empty
#align mv_polynomial.support_eq_empty MvPolynomial.support_eq_empty
+@[simp]
+lemma support_nonempty {p : MvPolynomial σ R} : p.support.Nonempty ↔ p ≠ 0 := by
+ rw [Finset.nonempty_iff_ne_empty, ne_eq, support_eq_empty]
+
theorem exists_coeff_ne_zero {p : MvPolynomial σ R} (h : p ≠ 0) : ∃ d, coeff d p ≠ 0 :=
ne_zero_iff.mp h
#align mv_polynomial.exists_coeff_ne_zero MvPolynomial.exists_coeff_ne_zero
@@ -70,8 +70,6 @@ polynomial, multivariate polynomial, multivariable polynomial
-/
-set_option autoImplicit true
-
noncomputable section
open Set Function Finsupp AddMonoidAlgebra
@@ -505,7 +503,8 @@ theorem algHom_ext {A : Type*} [Semiring A] [Algebra R A] {f g : MvPolynomial σ
#align mv_polynomial.alg_hom_ext MvPolynomial.algHom_ext
@[simp]
-theorem algHom_C (f : MvPolynomial σ R →ₐ[R] MvPolynomial τ R) (r : R) : f (C r) = C r :=
+theorem algHom_C {τ : Type*} (f : MvPolynomial σ R →ₐ[R] MvPolynomial τ R) (r : R) :
+ f (C r) = C r :=
f.commutes r
#align mv_polynomial.alg_hom_C MvPolynomial.algHom_C
@@ -1207,11 +1206,11 @@ theorem eval_assoc {τ} (f : σ → MvPolynomial τ R) (g : τ → R) (p : MvPol
#align mv_polynomial.eval_assoc MvPolynomial.eval_assoc
@[simp]
-theorem eval₂_id (p : MvPolynomial σ R) : eval₂ (RingHom.id _) g p = eval g p :=
+theorem eval₂_id {g : σ → R} (p : MvPolynomial σ R) : eval₂ (RingHom.id _) g p = eval g p :=
rfl
#align mv_polynomial.eval₂_id MvPolynomial.eval₂_id
-theorem eval_eval₂ [CommSemiring R] [CommSemiring S]
+theorem eval_eval₂ {S τ : Type*} {x : τ → S} [CommSemiring R] [CommSemiring S]
(f : R →+* MvPolynomial τ S) (g : σ → MvPolynomial τ S) (p : MvPolynomial σ R) :
eval x (eval₂ f g p) = eval₂ ((eval x).comp f) (fun s => eval x (g s)) p := by
apply induction_on p
Purely automatic replacement. If this is in any way controversial; I'm happy to just close this PR.
@@ -429,7 +429,7 @@ theorem induction_on' {P : MvPolynomial σ R → Prop} (p : MvPolynomial σ R)
fun a b f _ha _hb hPf => h2 _ _ (h1 _ _) hPf
#align mv_polynomial.induction_on' MvPolynomial.induction_on'
-/-- Similar to `MvPolynomial.induction_on` but only a weak form of `h_add` is required.-/
+/-- Similar to `MvPolynomial.induction_on` but only a weak form of `h_add` is required. -/
theorem induction_on''' {M : MvPolynomial σ R → Prop} (p : MvPolynomial σ R) (h_C : ∀ a, M (C a))
(h_add_weak :
∀ (a : σ →₀ ℕ) (b : R) (f : (σ →₀ ℕ) →₀ R),
@@ -439,7 +439,7 @@ theorem induction_on''' {M : MvPolynomial σ R → Prop} (p : MvPolynomial σ R)
Finsupp.induction p (C_0.rec <| h_C 0) h_add_weak
#align mv_polynomial.induction_on''' MvPolynomial.induction_on'''
-/-- Similar to `MvPolynomial.induction_on` but only a yet weaker form of `h_add` is required.-/
+/-- Similar to `MvPolynomial.induction_on` but only a yet weaker form of `h_add` is required. -/
theorem induction_on'' {M : MvPolynomial σ R → Prop} (p : MvPolynomial σ R) (h_C : ∀ a, M (C a))
(h_add_weak :
∀ (a : σ →₀ ℕ) (b : R) (f : (σ →₀ ℕ) →₀ R),
@@ -451,7 +451,7 @@ theorem induction_on'' {M : MvPolynomial σ R → Prop} (p : MvPolynomial σ R)
h_add_weak a b f ha hb hf <| induction_on_monomial h_C h_X a b
#align mv_polynomial.induction_on'' MvPolynomial.induction_on''
-/-- Analog of `Polynomial.induction_on`.-/
+/-- Analog of `Polynomial.induction_on`. -/
@[recursor 5]
theorem induction_on {M : MvPolynomial σ R → Prop} (p : MvPolynomial σ R) (h_C : ∀ a, M (C a))
(h_add : ∀ p q, M p → M q → M (p + q)) (h_X : ∀ p n, M p → M (p * X n)) : M p :=
@@ -761,7 +761,7 @@ theorem support_smul_eq {S₁ : Type*} [Semiring S₁] [Module S₁ R] [NoZeroSM
theorem support_sdiff_support_subset_support_add [DecidableEq σ] (p q : MvPolynomial σ R) :
p.support \ q.support ⊆ (p + q).support := by
intro m hm
- simp only [Classical.not_not, mem_support_iff, Finset.mem_sdiff, Ne.def] at hm
+ simp only [Classical.not_not, mem_support_iff, Finset.mem_sdiff, Ne] at hm
simp [hm.2, hm.1]
#align mv_polynomial.support_sdiff_support_subset_support_add MvPolynomial.support_sdiff_support_subset_support_add
@@ -817,7 +817,7 @@ theorem eq_zero_iff {p : MvPolynomial σ R} : p = 0 ↔ ∀ d, coeff d p = 0 :=
#align mv_polynomial.eq_zero_iff MvPolynomial.eq_zero_iff
theorem ne_zero_iff {p : MvPolynomial σ R} : p ≠ 0 ↔ ∃ d, coeff d p ≠ 0 := by
- rw [Ne.def, eq_zero_iff]
+ rw [Ne, eq_zero_iff]
push_neg
rfl
#align mv_polynomial.ne_zero_iff MvPolynomial.ne_zero_iff
We change the following field in the definition of an additive commutative monoid:
nsmul_succ : ∀ (n : ℕ) (x : G),
- AddMonoid.nsmul (n + 1) x = x + AddMonoid.nsmul n x
+ AddMonoid.nsmul (n + 1) x = AddMonoid.nsmul n x + x
where the latter is more natural
We adjust the definitions of ^
in monoids, groups, etc.
Originally there was a warning comment about why this natural order was preferred
use
x * npowRec n x
and notnpowRec n x * x
in the definition to make sure that definitional unfolding ofnpowRec
is blocked, to avoid deep recursion issues.
but it seems to no longer apply.
Remarks on the PR :
pow_succ
and pow_succ'
have switched their meanings.Ideal.IsPrime.mul_mem_pow
which is defined in [Mathlib/RingTheory/DedekindDomain/Ideal.lean]. Changing the order of operation forced me to add the symmetric lemma Ideal.IsPrime.mem_pow_mul
.@@ -411,7 +411,7 @@ theorem induction_on_monomial {M : MvPolynomial σ R → Prop} (h_C : ∀ a, M (
intro e
induction e with
| zero => simp [ih]
- | succ e e_ih => simp [ih, pow_succ', (mul_assoc _ _ _).symm, h_X, e_ih]
+ | succ e e_ih => simp [ih, pow_succ, (mul_assoc _ _ _).symm, h_X, e_ih]
simp [add_comm, monomial_add_single, this]
#align mv_polynomial.induction_on_monomial MvPolynomial.induction_on_monomial
RingHom.map_*
to _root_.map_*
(#11660)
Cherry-picked from #9607 Co-authored-by: @semorrison
@@ -1124,13 +1124,13 @@ theorem eval₂_congr (g₁ g₂ : σ → S₁)
theorem eval₂_sum (s : Finset S₂) (p : S₂ → MvPolynomial σ R) :
eval₂ f g (∑ x in s, p x) = ∑ x in s, eval₂ f g (p x) :=
- (eval₂Hom f g).map_sum _ s
+ map_sum (eval₂Hom f g) _ s
#align mv_polynomial.eval₂_sum MvPolynomial.eval₂_sum
@[to_additive existing (attr := simp)]
theorem eval₂_prod (s : Finset S₂) (p : S₂ → MvPolynomial σ R) :
eval₂ f g (∏ x in s, p x) = ∏ x in s, eval₂ f g (p x) :=
- (eval₂Hom f g).map_prod _ s
+ map_prod (eval₂Hom f g) _ s
#align mv_polynomial.eval₂_prod MvPolynomial.eval₂_prod
theorem eval₂_assoc (q : S₂ → MvPolynomial σ R) (p : MvPolynomial S₂ R) :
@@ -1190,13 +1190,13 @@ theorem eval_pow : ∀ n, eval f (p ^ n) = eval f p ^ n :=
theorem eval_sum {ι : Type*} (s : Finset ι) (f : ι → MvPolynomial σ R) (g : σ → R) :
eval g (∑ i in s, f i) = ∑ i in s, eval g (f i) :=
- (eval g).map_sum _ _
+ map_sum (eval g) _ _
#align mv_polynomial.eval_sum MvPolynomial.eval_sum
@[to_additive existing]
theorem eval_prod {ι : Type*} (s : Finset ι) (f : ι → MvPolynomial σ R) (g : σ → R) :
eval g (∏ i in s, f i) = ∏ i in s, eval g (f i) :=
- (eval g).map_prod _ _
+ map_prod (eval g) _ _
#align mv_polynomial.eval_prod MvPolynomial.eval_prod
theorem eval_assoc {τ} (f : σ → MvPolynomial τ R) (g : τ → R) (p : MvPolynomial σ R) :
algHom_C
, add killCompl_C
(#11205)
Generalizes algHom_C
to work over polynomials of different variable types. Adds related lemma killCompl_C
using this. Also removes simp tags from a few lemmas that are made redundant by this.
@@ -505,7 +505,7 @@ theorem algHom_ext {A : Type*} [Semiring A] [Algebra R A] {f g : MvPolynomial σ
#align mv_polynomial.alg_hom_ext MvPolynomial.algHom_ext
@[simp]
-theorem algHom_C (f : MvPolynomial σ R →ₐ[R] MvPolynomial σ R) (r : R) : f (C r) = C r :=
+theorem algHom_C (f : MvPolynomial σ R →ₐ[R] MvPolynomial τ R) (r : R) : f (C r) = C r :=
f.commutes r
#align mv_polynomial.alg_hom_C MvPolynomial.algHom_C
Empty lines were removed by executing the following Python script twice
import os
import re
# Loop through each file in the repository
for dir_path, dirs, files in os.walk('.'):
for filename in files:
if filename.endswith('.lean'):
file_path = os.path.join(dir_path, filename)
# Open the file and read its contents
with open(file_path, 'r') as file:
content = file.read()
# Use a regular expression to replace sequences of "variable" lines separated by empty lines
# with sequences without empty lines
modified_content = re.sub(r'(variable.*\n)\n(variable(?! .* in))', r'\1\2', content)
# Write the modified content back to the file
with open(file_path, 'w') as file:
file.write(modified_content)
@@ -899,7 +899,6 @@ theorem constantCoeff_C (r : R) : constantCoeff (C r : MvPolynomial σ R) = r :=
#align mv_polynomial.constant_coeff_C MvPolynomial.constantCoeff_C
variable {σ}
-
variable (R)
@[simp]
@@ -1455,7 +1454,6 @@ section Aeval
variable [Algebra R S₁] [CommSemiring S₂]
-
variable (f : σ → S₁)
theorem algebraMap_apply (r : R) : algebraMap R (MvPolynomial σ S₁) r = C (algebraMap R S₁ r) := rfl
@@ -1614,7 +1612,6 @@ end Aeval
section AevalTower
variable {S A B : Type*} [CommSemiring S] [CommSemiring A] [CommSemiring B]
-
variable [Algebra S R] [Algebra S A] [Algebra S B]
/-- Version of `aeval` for defining algebra homs out of `MvPolynomial σ R` over a smaller base ring
Homogenises porting notes via capitalisation and addition of whitespace.
It makes the following changes:
@@ -89,7 +89,7 @@ def MvPolynomial (σ : Type*) (R : Type*) [CommSemiring R] :=
namespace MvPolynomial
--- porting note: because of `MvPolynomial.C` and `MvPolynomial.X` this linter throws
+-- Porting note: because of `MvPolynomial.C` and `MvPolynomial.X` this linter throws
-- tons of warnings in this file, and it's easier to just disable them globally in the file
set_option linter.uppercaseLean3 false
@@ -216,7 +216,7 @@ theorem C_1 : C 1 = (1 : MvPolynomial σ R) :=
#align mv_polynomial.C_1 MvPolynomial.C_1
theorem C_mul_monomial : C a * monomial s a' = monomial s (a * a') := by
- -- porting note: this `show` feels like defeq abuse, but I can't find the appropriate lemmas
+ -- Porting note: this `show` feels like defeq abuse, but I can't find the appropriate lemmas
show AddMonoidAlgebra.single _ _ * AddMonoidAlgebra.single _ _ = AddMonoidAlgebra.single _ _
simp [C_apply, single_mul_single]
#align mv_polynomial.C_mul_monomial MvPolynomial.C_mul_monomial
@@ -435,7 +435,7 @@ theorem induction_on''' {M : MvPolynomial σ R → Prop} (p : MvPolynomial σ R)
∀ (a : σ →₀ ℕ) (b : R) (f : (σ →₀ ℕ) →₀ R),
a ∉ f.support → b ≠ 0 → M f → M ((show (σ →₀ ℕ) →₀ R from monomial a b) + f)) :
M p :=
- -- porting note: I had to add the `show ... from ...` above, a type ascription was insufficient.
+ -- Porting note: I had to add the `show ... from ...` above, a type ascription was insufficient.
Finsupp.induction p (C_0.rec <| h_C 0) h_add_weak
#align mv_polynomial.induction_on''' MvPolynomial.induction_on'''
@@ -446,7 +446,7 @@ theorem induction_on'' {M : MvPolynomial σ R → Prop} (p : MvPolynomial σ R)
a ∉ f.support → b ≠ 0 → M f → M (monomial a b) →
M ((show (σ →₀ ℕ) →₀ R from monomial a b) + f))
(h_X : ∀ (p : MvPolynomial σ R) (n : σ), M p → M (p * MvPolynomial.X n)) : M p :=
- -- porting note: I had to add the `show ... from ...` above, a type ascription was insufficient.
+ -- Porting note: I had to add the `show ... from ...` above, a type ascription was insufficient.
induction_on''' p h_C fun a b f ha hb hf =>
h_add_weak a b f ha hb hf <| induction_on_monomial h_C h_X a b
#align mv_polynomial.induction_on'' MvPolynomial.induction_on''
@@ -461,12 +461,12 @@ theorem induction_on {M : MvPolynomial σ R → Prop} (p : MvPolynomial σ R) (h
theorem ringHom_ext {A : Type*} [Semiring A] {f g : MvPolynomial σ R →+* A}
(hC : ∀ r, f (C r) = g (C r)) (hX : ∀ i, f (X i) = g (X i)) : f = g := by
refine AddMonoidAlgebra.ringHom_ext' ?_ ?_
- -- porting note: this has high priority, but Lean still chooses `RingHom.ext`, why?
+ -- Porting note: this has high priority, but Lean still chooses `RingHom.ext`, why?
-- probably because of the type synonym
· ext x
exact hC _
· apply Finsupp.mulHom_ext'; intros x
- -- porting note: `Finsupp.mulHom_ext'` needs to have increased priority
+ -- Porting note: `Finsupp.mulHom_ext'` needs to have increased priority
apply MonoidHom.ext_mnat
exact hX _
#align mv_polynomial.ring_hom_ext MvPolynomial.ringHom_ext
@@ -540,7 +540,7 @@ theorem support_monomial [h : Decidable (a = 0)] :
(monomial s a).support = if a = 0 then ∅ else {s} := by
rw [← Subsingleton.elim (Classical.decEq R a 0) h]
rfl
- -- porting note: the proof in Lean 3 wasn't fundamentally better and needed `by convert rfl`
+ -- Porting note: the proof in Lean 3 wasn't fundamentally better and needed `by convert rfl`
-- the issue is the different decidability instances in the `ite` expressions
#align mv_polynomial.support_monomial MvPolynomial.support_monomial
@@ -584,7 +584,7 @@ section Coeff
/-- The coefficient of the monomial `m` in the multi-variable polynomial `p`. -/
def coeff (m : σ →₀ ℕ) (p : MvPolynomial σ R) : R :=
@DFunLike.coe ((σ →₀ ℕ) →₀ R) _ _ _ p m
- -- porting note: I changed this from `@CoeFun.coe _ _ (MonoidAlgebra.coeFun _ _) p m` because
+ -- Porting note: I changed this from `@CoeFun.coe _ _ (MonoidAlgebra.coeFun _ _) p m` because
-- I think it should work better syntactically. They are defeq.
#align mv_polynomial.coeff MvPolynomial.coeff
@@ -1267,7 +1267,7 @@ theorem eval₂_eq_eval_map (g : σ → S₁) (p : MvPolynomial σ R) : p.eval
unfold map eval; simp only [coe_eval₂Hom]
have h := eval₂_comp_left (eval₂Hom (RingHom.id S₁) g) (C.comp f) X p
- -- porting note: the Lean 3 version of `h` was full of metavariables which
+ -- Porting note: the Lean 3 version of `h` was full of metavariables which
-- were later unified during `rw [h]`. Also needed to add `-eval₂_id`.
dsimp [-eval₂_id] at h
rw [h]
@@ -1429,7 +1429,7 @@ def mapAlgHom [CommSemiring S₂] [Algebra R S₁] [Algebra R S₂] (f : S₁
have h₁ : algebraMap R (MvPolynomial σ S₁) r = C (algebraMap R S₁ r) := rfl
have h₂ : algebraMap R (MvPolynomial σ S₂) r = C (algebraMap R S₂ r) := rfl
simp_rw [OneHom.toFun_eq_coe]
- -- porting note: we're missing some `simp` lemmas like `MonoidHom.coe_toOneHom`
+ -- Porting note: we're missing some `simp` lemmas like `MonoidHom.coe_toOneHom`
change @DFunLike.coe (_ →+* _) _ _ _ _ _ = _
rw [h₁, h₂, map, eval₂Hom_C, RingHom.comp_apply, AlgHom.coe_toRingHom, AlgHom.commutes] }
#align mv_polynomial.map_alg_hom MvPolynomial.mapAlgHom
Adds lemma about product of variables equalling a monomial
@@ -396,6 +396,10 @@ theorem monomial_eq : monomial s a = C a * (s.prod fun n e => X n ^ e : MvPolyno
simp only [X_pow_eq_monomial, ← monomial_finsupp_sum_index, Finsupp.sum_single]
#align mv_polynomial.monomial_eq MvPolynomial.monomial_eq
+@[simp]
+lemma prod_X_pow_eq_monomial : ∏ x in s.support, X x ^ s x = monomial s (1 : R) := by
+ simp only [monomial_eq, map_one, one_mul, Finsupp.prod]
+
theorem induction_on_monomial {M : MvPolynomial σ R → Prop} (h_C : ∀ a, M (C a))
(h_X : ∀ p n, M p → M (p * X n)) : ∀ s a, M (monomial s a) := by
intro s a
Proves that a variable is not the zero polynomial, analogous to Polynomial.X_ne_zero
.
@@ -818,6 +818,13 @@ theorem ne_zero_iff {p : MvPolynomial σ R} : p ≠ 0 ↔ ∃ d, coeff d p ≠ 0
rfl
#align mv_polynomial.ne_zero_iff MvPolynomial.ne_zero_iff
+@[simp]
+theorem X_ne_zero [Nontrivial R] (s : σ) :
+ X (R := R) s ≠ 0 := by
+ rw [ne_zero_iff]
+ use Finsupp.single s 1
+ simp only [coeff_X, ne_eq, one_ne_zero, not_false_eq_true]
+
@[simp]
theorem support_eq_empty {p : MvPolynomial σ R} : p.support = ∅ ↔ p = 0 :=
Finsupp.support_eq_empty
This adds the inst
prefix that is expected in Lean 4.
Performed using the F2 shortcut (renaming foo
to Finsupp.instFoo
, then deleting the redundant Finsupp
)
All the changes to downstream files are fallout, no names have been changed there.
@@ -101,7 +101,7 @@ section Instances
instance decidableEqMvPolynomial [CommSemiring R] [DecidableEq σ] [DecidableEq R] :
DecidableEq (MvPolynomial σ R) :=
- Finsupp.decidableEq
+ Finsupp.instDecidableEq
#align mv_polynomial.decidable_eq_mv_polynomial MvPolynomial.decidableEqMvPolynomial
instance commSemiring [CommSemiring R] : CommSemiring (MvPolynomial σ R) :=
@@ -840,7 +840,7 @@ theorem C_dvd_iff_dvd_coeff (r : R) (φ : MvPolynomial σ R) : C r ∣ φ ↔
use ψ
apply MvPolynomial.ext
intro i
- simp only [coeff_C_mul, coeff_sum, coeff_monomial, Finset.sum_ite_eq']
+ simp only [ψ, c', coeff_C_mul, coeff_sum, coeff_monomial, Finset.sum_ite_eq']
split_ifs with hi
· rw [hc]
· rw [not_mem_support_iff] at hi
@@ -206,11 +206,11 @@ theorem C_apply : (C a : MvPolynomial σ R) = monomial 0 a :=
rfl
#align mv_polynomial.C_apply MvPolynomial.C_apply
--- porting note: `simp` can prove this
+-- Porting note (#10618): `simp` can prove this
theorem C_0 : C 0 = (0 : MvPolynomial σ R) := map_zero _
#align mv_polynomial.C_0 MvPolynomial.C_0
--- porting note: `simp` can prove this
+-- Porting note (#10618): `simp` can prove this
theorem C_1 : C 1 = (1 : MvPolynomial σ R) :=
rfl
#align mv_polynomial.C_1 MvPolynomial.C_1
@@ -221,17 +221,17 @@ theorem C_mul_monomial : C a * monomial s a' = monomial s (a * a') := by
simp [C_apply, single_mul_single]
#align mv_polynomial.C_mul_monomial MvPolynomial.C_mul_monomial
--- porting note: `simp` can prove this
+-- Porting note (#10618): `simp` can prove this
theorem C_add : (C (a + a') : MvPolynomial σ R) = C a + C a' :=
Finsupp.single_add _ _ _
#align mv_polynomial.C_add MvPolynomial.C_add
--- porting note: `simp` can prove this
+-- Porting note (#10618): `simp` can prove this
theorem C_mul : (C (a * a') : MvPolynomial σ R) = C a * C a' :=
C_mul_monomial.symm
#align mv_polynomial.C_mul MvPolynomial.C_mul
--- porting note: `simp` can prove this
+-- Porting note (#10618): `simp` can prove this
theorem C_pow (a : R) (n : ℕ) : (C (a ^ n) : MvPolynomial σ R) = C a ^ n :=
map_pow _ _ _
#align mv_polynomial.C_pow MvPolynomial.C_pow
@@ -345,7 +345,7 @@ theorem C_mul_X_eq_monomial {s : σ} {a : R} : C a * X s = monomial (Finsupp.sin
rw [← C_mul_X_pow_eq_monomial, pow_one]
#align mv_polynomial.C_mul_X_eq_monomial MvPolynomial.C_mul_X_eq_monomial
--- porting note: `simp` can prove this
+-- Porting note (#10618): `simp` can prove this
theorem monomial_zero {s : σ →₀ ℕ} : monomial s (0 : R) = 0 :=
Finsupp.single_zero _
#align mv_polynomial.monomial_zero MvPolynomial.monomial_zero
have
, replace
and suffices
(#10640)
No changes to tactic file, it's just boring fixes throughout the library.
This follows on from #6964.
Co-authored-by: sgouezel <sebastien.gouezel@univ-rennes1.fr> Co-authored-by: Eric Wieser <wieser.eric@gmail.com>
@@ -848,8 +848,8 @@ theorem C_dvd_iff_dvd_coeff (r : R) (φ : MvPolynomial σ R) : C r ∣ φ ↔
#align mv_polynomial.C_dvd_iff_dvd_coeff MvPolynomial.C_dvd_iff_dvd_coeff
@[simp] lemma isRegular_X : IsRegular (X n : MvPolynomial σ R) := by
- suffices : IsLeftRegular (X n : MvPolynomial σ R)
- · exact ⟨this, this.right_of_commute <| Commute.all _⟩
+ suffices IsLeftRegular (X n : MvPolynomial σ R) from
+ ⟨this, this.right_of_commute <| Commute.all _⟩
intro P Q (hPQ : (X n) * P = (X n) * Q)
ext i
rw [← coeff_X_mul i n P, hPQ, coeff_X_mul i n Q]
@@ -1677,26 +1677,26 @@ theorem eval₂_mem {f : R →+* S} {p : MvPolynomial σ R} {s : subS}
(hs : ∀ i ∈ p.support, f (p.coeff i) ∈ s) {v : σ → S} (hv : ∀ i, v i ∈ s) :
MvPolynomial.eval₂ f v p ∈ s := by
classical
- replace hs : ∀ i, f (p.coeff i) ∈ s
- · intro i
- by_cases hi : i ∈ p.support
- · exact hs i hi
- · rw [MvPolynomial.not_mem_support_iff.1 hi, f.map_zero]
- exact zero_mem s
- induction' p using MvPolynomial.induction_on''' with a a b f ha _ ih
- · simpa using hs 0
- rw [eval₂_add, eval₂_monomial]
- refine' add_mem (mul_mem _ <| prod_mem fun i _ => pow_mem (hv _) _) (ih fun i => _)
- · have := hs a -- Porting note: was `simpa only [...]`
- rwa [coeff_add, MvPolynomial.not_mem_support_iff.1 ha, add_zero, coeff_monomial,
- if_pos rfl] at this
- have := hs i
- rw [coeff_add, coeff_monomial] at this
- split_ifs at this with h
- · subst h
- rw [MvPolynomial.not_mem_support_iff.1 ha, map_zero]
- exact zero_mem _
- · rwa [zero_add] at this
+ replace hs : ∀ i, f (p.coeff i) ∈ s := by
+ intro i
+ by_cases hi : i ∈ p.support
+ · exact hs i hi
+ · rw [MvPolynomial.not_mem_support_iff.1 hi, f.map_zero]
+ exact zero_mem s
+ induction' p using MvPolynomial.induction_on''' with a a b f ha _ ih
+ · simpa using hs 0
+ rw [eval₂_add, eval₂_monomial]
+ refine' add_mem (mul_mem _ <| prod_mem fun i _ => pow_mem (hv _) _) (ih fun i => _)
+ · have := hs a -- Porting note: was `simpa only [...]`
+ rwa [coeff_add, MvPolynomial.not_mem_support_iff.1 ha, add_zero, coeff_monomial,
+ if_pos rfl] at this
+ have := hs i
+ rw [coeff_add, coeff_monomial] at this
+ split_ifs at this with h
+ · subst h
+ rw [MvPolynomial.not_mem_support_iff.1 ha, map_zero]
+ exact zero_mem _
+ · rwa [zero_add] at this
#align mv_polynomial.eval₂_mem MvPolynomial.eval₂_mem
theorem eval_mem {p : MvPolynomial σ S} {s : subS} (hs : ∀ i ∈ p.support, p.coeff i ∈ s) {v : σ → S}
@@ -255,6 +255,10 @@ theorem C_inj {σ : Type*} (R : Type*) [CommSemiring R] (r s : R) :
(C_injective σ R).eq_iff
#align mv_polynomial.C_inj MvPolynomial.C_inj
+instance nontrivial_of_nontrivial (σ : Type*) (R : Type*) [CommSemiring R] [Nontrivial R] :
+ Nontrivial (MvPolynomial σ R) :=
+ inferInstanceAs (Nontrivial <| AddMonoidAlgebra R (σ →₀ ℕ))
+
instance infinite_of_infinite (σ : Type*) (R : Type*) [CommSemiring R] [Infinite R] :
Infinite (MvPolynomial σ R) :=
Infinite.of_injective C (C_injective _ _)
@@ -4,6 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Johannes Hölzl, Johan Commelin, Mario Carneiro
-/
import Mathlib.Algebra.Algebra.Tower
+import Mathlib.Algebra.GroupPower.Ring
import Mathlib.Algebra.Regular.Pow
import Mathlib.Algebra.MonoidAlgebra.Support
import Mathlib.Data.Finsupp.Antidiagonal
f ^ n
(#9617)
This involves moving lemmas from Algebra.GroupPower.Ring
to Algebra.GroupWithZero.Basic
and changing some 0 < n
assumptions to n ≠ 0
.
From LeanAPAP
@@ -1561,7 +1561,7 @@ theorem eval₂Hom_eq_zero (f : R →+* S₂) (g : σ → S₂) (φ : MvPolynomi
obtain ⟨i, hi, hgi⟩ : ∃ i ∈ d.support, g i = 0 := h d (Finsupp.mem_support_iff.mp hd)
rw [eval₂Hom_monomial, Finsupp.prod, Finset.prod_eq_zero hi, mul_zero]
rw [hgi, zero_pow]
- rwa [pos_iff_ne_zero, ← Finsupp.mem_support_iff]
+ rwa [← Finsupp.mem_support_iff]
#align mv_polynomial.eval₂_hom_eq_zero MvPolynomial.eval₂Hom_eq_zero
theorem aeval_eq_zero [Algebra R S₂] (f : σ → S₂) (φ : MvPolynomial σ R)
Those notations are not scoped whereas the file is very low in the import hierarchy.
@@ -756,6 +756,7 @@ theorem support_sdiff_support_subset_support_add [DecidableEq σ] (p q : MvPolyn
simp [hm.2, hm.1]
#align mv_polynomial.support_sdiff_support_subset_support_add MvPolynomial.support_sdiff_support_subset_support_add
+open scoped symmDiff in
theorem support_symmDiff_support_subset_support_add [DecidableEq σ] (p q : MvPolynomial σ R) :
p.support ∆ q.support ⊆ (p + q).support := by
rw [symmDiff_def, Finset.sup_eq_union]
FunLike
to DFunLike
(#9785)
This prepares for the introduction of a non-dependent synonym of FunLike, which helps a lot with keeping #8386 readable.
This is entirely search-and-replace in 680197f combined with manual fixes in 4145626, e900597 and b8428f8. The commands that generated this change:
sed -i 's/\bFunLike\b/DFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\btoFunLike\b/toDFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/import Mathlib.Data.DFunLike/import Mathlib.Data.FunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\bHom_FunLike\b/Hom_DFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\binstFunLike\b/instDFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\bfunLike\b/instDFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\btoo many metavariables to apply `fun_like.has_coe_to_fun`/too many metavariables to apply `DFunLike.hasCoeToFun`/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
Co-authored-by: Anne Baanen <Vierkantor@users.noreply.github.com>
@@ -574,7 +574,7 @@ section Coeff
/-- The coefficient of the monomial `m` in the multi-variable polynomial `p`. -/
def coeff (m : σ →₀ ℕ) (p : MvPolynomial σ R) : R :=
- @FunLike.coe ((σ →₀ ℕ) →₀ R) _ _ _ p m
+ @DFunLike.coe ((σ →₀ ℕ) →₀ R) _ _ _ p m
-- porting note: I changed this from `@CoeFun.coe _ _ (MonoidAlgebra.coeFun _ _) p m` because
-- I think it should work better syntactically. They are defeq.
#align mv_polynomial.coeff MvPolynomial.coeff
@@ -1413,7 +1413,7 @@ def mapAlgHom [CommSemiring S₂] [Algebra R S₁] [Algebra R S₂] (f : S₁
have h₂ : algebraMap R (MvPolynomial σ S₂) r = C (algebraMap R S₂ r) := rfl
simp_rw [OneHom.toFun_eq_coe]
-- porting note: we're missing some `simp` lemmas like `MonoidHom.coe_toOneHom`
- change @FunLike.coe (_ →+* _) _ _ _ _ _ = _
+ change @DFunLike.coe (_ →+* _) _ _ _ _ _ = _
rw [h₁, h₂, map, eval₂Hom_C, RingHom.comp_apply, AlgHom.coe_toRingHom, AlgHom.commutes] }
#align mv_polynomial.map_alg_hom MvPolynomial.mapAlgHom
support_mul
(#8953)
Use pointwise multiplication/addition of Finset
s in MonoidAlgebra.support_mul
and AddMonoidAlgebra.support_mul
.
@@ -71,14 +71,10 @@ polynomial, multivariate polynomial, multivariable polynomial
set_option autoImplicit true
-
noncomputable section
-open BigOperators
-
open Set Function Finsupp AddMonoidAlgebra
-
-open BigOperators
+open scoped BigOperators Pointwise
universe u v w x
@@ -597,8 +593,8 @@ theorem sum_def {A} [AddCommMonoid A] {p : MvPolynomial σ R} {b : (σ →₀
#align mv_polynomial.sum_def MvPolynomial.sum_def
theorem support_mul [DecidableEq σ] (p q : MvPolynomial σ R) :
- (p * q).support ⊆ p.support.biUnion fun a => q.support.biUnion fun b => {a + b} := by
- convert AddMonoidAlgebra.support_mul p q
+ (p * q).support ⊆ p.support + q.support :=
+ AddMonoidAlgebra.support_mul p q
#align mv_polynomial.support_mul MvPolynomial.support_mul
@[ext]
@@ -772,23 +768,15 @@ theorem support_symmDiff_support_subset_support_add [DecidableEq σ] (p q : MvPo
theorem coeff_mul_monomial' (m) (s : σ →₀ ℕ) (r : R) (p : MvPolynomial σ R) :
coeff m (p * monomial s r) = if s ≤ m then coeff (m - s) p * r else 0 := by
classical
- obtain rfl | hr := eq_or_ne r 0
- · simp only [monomial_zero, coeff_zero, mul_zero, ite_self]
- haveI : Nontrivial R := nontrivial_of_ne _ _ hr
split_ifs with h
· conv_rhs => rw [← coeff_mul_monomial _ s]
congr with t
rw [tsub_add_cancel_of_le h]
- · rw [← not_mem_support_iff]
- intro hm
- apply h
- have H := support_mul _ _ hm
- simp only [Finset.mem_biUnion] at H
- rcases H with ⟨j, _hj, i', hi', H⟩
- rw [support_monomial, if_neg hr, Finset.mem_singleton] at hi'
- subst i'
- rw [Finset.mem_singleton] at H
- subst m
+ · contrapose! h
+ rw [← mem_support_iff] at h
+ obtain ⟨j, -, rfl⟩ : ∃ j ∈ support p, j + s = m := by
+ simpa [Finset.add_singleton]
+ using Finset.add_subset_add_left support_monomial_subset <| support_mul _ _ h
exact le_add_left le_rfl
#align mv_polynomial.coeff_mul_monomial' MvPolynomial.coeff_mul_monomial'
$
with <|
(#9319)
See Zulip thread for the discussion.
@@ -855,7 +855,7 @@ theorem C_dvd_iff_dvd_coeff (r : R) (φ : MvPolynomial σ R) : C r ∣ φ ↔
@[simp] lemma isRegular_X : IsRegular (X n : MvPolynomial σ R) := by
suffices : IsLeftRegular (X n : MvPolynomial σ R)
- · exact ⟨this, this.right_of_commute $ Commute.all _⟩
+ · exact ⟨this, this.right_of_commute <| Commute.all _⟩
intro P Q (hPQ : (X n) * P = (X n) * Q)
ext i
rw [← coeff_X_mul i n P, hPQ, coeff_X_mul i n Q]
cases x with | ...
instead of cases x; case => ...
(#9321)
This converts usages of the pattern
cases h
case inl h' => ...
case inr h' => ...
which derive from mathported code, to the "structured cases
" syntax:
cases h with
| inl h' => ...
| inr h' => ...
The case where the subgoals are handled with ·
instead of case
is more contentious (and much more numerous) so I left those alone. This pattern also appears with cases'
, induction
, induction'
, and rcases
. Furthermore, there is a similar transformation for by_cases
:
by_cases h : cond
case pos => ...
case neg => ...
is replaced by:
if h : cond then
...
else
...
Co-authored-by: Mario Carneiro <di.gama@gmail.com>
@@ -508,10 +508,10 @@ theorem algHom_C (f : MvPolynomial σ R →ₐ[R] MvPolynomial σ R) (r : R) : f
theorem adjoin_range_X : Algebra.adjoin R (range (X : σ → MvPolynomial σ R)) = ⊤ := by
set S := Algebra.adjoin R (range (X : σ → MvPolynomial σ R))
refine' top_unique fun p hp => _; clear hp
- induction p using MvPolynomial.induction_on
- case h_C => exact S.algebraMap_mem _
- case h_add p q hp hq => exact S.add_mem hp hq
- case h_X p i hp => exact S.mul_mem hp (Algebra.subset_adjoin <| mem_range_self _)
+ induction p using MvPolynomial.induction_on with
+ | h_C => exact S.algebraMap_mem _
+ | h_add p q hp hq => exact S.add_mem hp hq
+ | h_X p i hp => exact S.mul_mem hp (Algebra.subset_adjoin <| mem_range_self _)
#align mv_polynomial.adjoin_range_X MvPolynomial.adjoin_range_X
@[ext]
It (no longer?) seems to be the case that simp can prove this.
@@ -670,7 +670,7 @@ theorem coeff_one [DecidableEq σ] (m) : coeff m (1 : MvPolynomial σ R) = if 0
coeff_C m 1
#align mv_polynomial.coeff_one MvPolynomial.coeff_one
--- porting note: `simp` can prove this
+@[simp]
theorem coeff_zero_C (a) : coeff 0 (C a : MvPolynomial σ R) = a :=
single_eq_same
#align mv_polynomial.coeff_zero_C MvPolynomial.coeff_zero_C
@@ -373,7 +373,7 @@ theorem sum_C {A : Type*} [AddCommMonoid A] {b : (σ →₀ ℕ) → R → A} (w
theorem monomial_sum_one {α : Type*} (s : Finset α) (f : α → σ →₀ ℕ) :
(monomial (∑ i in s, f i) 1 : MvPolynomial σ R) = ∏ i in s, monomial (f i) 1 :=
- (monomialOneHom R σ).map_prod (fun i => Multiplicative.ofAdd (f i)) s
+ map_prod (monomialOneHom R σ) (fun i => Multiplicative.ofAdd (f i)) s
#align mv_polynomial.monomial_sum_one MvPolynomial.monomial_sum_one
theorem monomial_sum_index {α : Type*} (s : Finset α) (f : α → σ →₀ ℕ) (a : R) :
@@ -642,7 +642,7 @@ def coeffAddMonoidHom (m : σ →₀ ℕ) : MvPolynomial σ R →+ R
theorem coeff_sum {X : Type*} (s : Finset X) (f : X → MvPolynomial σ R) (m : σ →₀ ℕ) :
coeff m (∑ x in s, f x) = ∑ x in s, coeff m (f x) :=
- (@coeffAddMonoidHom R σ _ _).map_sum _ s
+ map_sum (@coeffAddMonoidHom R σ _ _) _ s
#align mv_polynomial.coeff_sum MvPolynomial.coeff_sum
theorem monic_monomial_eq (m) :
@@ -247,7 +247,7 @@ theorem C_injective (σ : Type*) (R : Type*) [CommSemiring R] :
theorem C_surjective {R : Type*} [CommSemiring R] (σ : Type*) [IsEmpty σ] :
Function.Surjective (C : R → MvPolynomial σ R) := by
refine' fun p => ⟨p.toFun 0, Finsupp.ext fun a => _⟩
- simp only [C_apply, ←single_eq_monomial, (Finsupp.ext isEmptyElim (α := σ) : a = 0),
+ simp only [C_apply, ← single_eq_monomial, (Finsupp.ext isEmptyElim (α := σ) : a = 0),
single_eq_same]
rfl
#align mv_polynomial.C_surjective MvPolynomial.C_surjective
@@ -533,7 +533,7 @@ theorem finsupp_support_eq_support (p : MvPolynomial σ R) : Finsupp.support p =
theorem support_monomial [h : Decidable (a = 0)] :
(monomial s a).support = if a = 0 then ∅ else {s} := by
- rw [←Subsingleton.elim (Classical.decEq R a 0) h]
+ rw [← Subsingleton.elim (Classical.decEq R a 0) h]
rfl
-- porting note: the proof in Lean 3 wasn't fundamentally better and needed `by convert rfl`
-- the issue is the different decidability instances in the `ite` expressions
@@ -1702,7 +1702,7 @@ theorem eval₂_mem {f : R →+* S} {p : MvPolynomial σ R} {s : subS}
· subst h
rw [MvPolynomial.not_mem_support_iff.1 ha, map_zero]
exact zero_mem _
- · rwa [if_neg h, zero_add] at this
+ · rwa [zero_add] at this
#align mv_polynomial.eval₂_mem MvPolynomial.eval₂_mem
theorem eval_mem {p : MvPolynomial σ S} {s : subS} (hs : ∀ i ∈ p.support, p.coeff i ∈ s) {v : σ → S}
Finset.Nat.antidiagonal
(#7486)
We define a type class Finset.HasAntidiagonal A
which contains a function
antidiagonal : A → Finset (A × A)
such that antidiagonal n
is the Finset of all pairs adding to n
, as witnessed by mem_antidiagonal
.
When A
is a canonically ordered add monoid with locally finite order
this typeclass can be instantiated with Finset.antidiagonalOfLocallyFinite
.
This applies in particular when A
is ℕ
, more generally or σ →₀ ℕ
,
or even ι →₀ A
under the additional assumption OrderedSub A
that make it a canonically ordered add monoid.
(In fact, we would just need an AddMonoid
with a compatible order,
finite Iic
, such that if a + b = n
, then a, b ≤ n
,
and any finiteness condition would be OK.)
For computational reasons it is better to manually provide instances for ℕ
and σ →₀ ℕ
, to avoid quadratic runtime performance.
These instances are provided as Finset.Nat.instHasAntidiagonal
and Finsupp.instHasAntidiagonal
.
This is why Finset.antidiagonalOfLocallyFinite
is an abbrev
and not an instance
.
This definition does not exactly match with that of Multiset.antidiagonal
defined in Mathlib.Data.Multiset.Antidiagonal
, because of the multiplicities.
Indeed, by counting multiplicities, Multiset α
is equivalent to α →₀ ℕ
,
but Finset.antidiagonal
and Multiset.antidiagonal
will return different objects.
For example, for s : Multiset ℕ := {0,0,0}
, Multiset.antidiagonal s
has 8 elements
but Finset.antidiagonal s
has only 4.
def s : Multiset ℕ := {0, 0, 0}
#eval (Finset.antidiagonal s).card -- 4
#eval Multiset.card (Multiset.antidiagonal s) -- 8
HasMulAntidiagonal
(for monoids).
For PNat
, we will recover the set of divisors of a strictly positive integer.This closes #7917
Co-authored by: María Inés de Frutos-Fernández <mariaines.dff@gmail.com> and Eric Wieser <efw27@cam.ac.uk>
Co-authored-by: Antoine Chambert-Loir <antoine.chambert-loir@math.univ-paris-diderot.fr> Co-authored-by: Mario Carneiro <di.gama@gmail.com> Co-authored-by: Eric Wieser <wieser.eric@gmail.com>
@@ -707,8 +707,8 @@ theorem coeff_C_mul (m) (a : R) (p : MvPolynomial σ R) : coeff m (C a * p) = a
#align mv_polynomial.coeff_C_mul MvPolynomial.coeff_C_mul
theorem coeff_mul [DecidableEq σ] (p q : MvPolynomial σ R) (n : σ →₀ ℕ) :
- coeff n (p * q) = ∑ x in antidiagonal n, coeff x.1 p * coeff x.2 q :=
- AddMonoidAlgebra.mul_apply_antidiagonal p q _ _ mem_antidiagonal
+ coeff n (p * q) = ∑ x in Finset.antidiagonal n, coeff x.1 p * coeff x.2 q :=
+ AddMonoidAlgebra.mul_apply_antidiagonal p q _ _ Finset.mem_antidiagonal
#align mv_polynomial.coeff_mul MvPolynomial.coeff_mul
@[simp]
@@ -336,8 +336,8 @@ theorem monomial_single_add : monomial (Finsupp.single n e + s) a = X n ^ e * mo
#align mv_polynomial.monomial_single_add MvPolynomial.monomial_single_add
theorem C_mul_X_pow_eq_monomial {s : σ} {a : R} {n : ℕ} :
- C a * X s ^ n = monomial (Finsupp.single s n) a :=
- by rw [← zero_add (Finsupp.single s n), monomial_add_single, C_apply]
+ C a * X s ^ n = monomial (Finsupp.single s n) a := by
+ rw [← zero_add (Finsupp.single s n), monomial_add_single, C_apply]
#align mv_polynomial.C_mul_X_pow_eq_monomial MvPolynomial.C_mul_X_pow_eq_monomial
theorem C_mul_X_eq_monomial {s : σ} {a : R} : C a * X s = monomial (Finsupp.single s 1) a := by
@@ -336,7 +336,7 @@ theorem monomial_single_add : monomial (Finsupp.single n e + s) a = X n ^ e * mo
#align mv_polynomial.monomial_single_add MvPolynomial.monomial_single_add
theorem C_mul_X_pow_eq_monomial {s : σ} {a : R} {n : ℕ} :
- C a * X s ^ n = monomial (Finsupp.single s n) a :=
+ C a * X s ^ n = monomial (Finsupp.single s n) a :=
by rw [← zero_add (Finsupp.single s n), monomial_add_single, C_apply]
#align mv_polynomial.C_mul_X_pow_eq_monomial MvPolynomial.C_mul_X_pow_eq_monomial
@@ -1453,8 +1453,7 @@ variable [Algebra R S₁] [CommSemiring S₂]
variable (f : σ → S₁)
-theorem algebraMap_apply (r : R) :
- algebraMap R (MvPolynomial σ S₁) r = C (algebraMap R S₁ r) := rfl
+theorem algebraMap_apply (r : R) : algebraMap R (MvPolynomial σ S₁) r = C (algebraMap R S₁ r) := rfl
#align mv_polynomial.algebra_map_apply MvPolynomial.algebraMap_apply
/-- A map `σ → S₁` where `S₁` is an algebra over `R` generates an `R`-algebra homomorphism
@@ -661,6 +661,11 @@ theorem coeff_C [DecidableEq σ] (m) (a) :
Finsupp.single_apply
#align mv_polynomial.coeff_C MvPolynomial.coeff_C
+lemma eq_C_of_isEmpty [IsEmpty σ] (p : MvPolynomial σ R) :
+ p = C (p.coeff 0) := by
+ obtain ⟨x, rfl⟩ := C_surjective σ p
+ simp
+
theorem coeff_one [DecidableEq σ] (m) : coeff m (1 : MvPolynomial σ R) = if 0 = m then 1 else 0 :=
coeff_C m 1
#align mv_polynomial.coeff_one MvPolynomial.coeff_one
MulZeroClass.
in mul_zero
/zero_mul
(#6682)
Search&replace MulZeroClass.mul_zero
-> mul_zero
, MulZeroClass.zero_mul
-> zero_mul
.
These were introduced by Mathport, as the full name of mul_zero
is actually MulZeroClass.mul_zero
(it's exported with the short name).
@@ -768,7 +768,7 @@ theorem coeff_mul_monomial' (m) (s : σ →₀ ℕ) (r : R) (p : MvPolynomial σ
coeff m (p * monomial s r) = if s ≤ m then coeff (m - s) p * r else 0 := by
classical
obtain rfl | hr := eq_or_ne r 0
- · simp only [monomial_zero, coeff_zero, MulZeroClass.mul_zero, ite_self]
+ · simp only [monomial_zero, coeff_zero, mul_zero, ite_self]
haveI : Nontrivial R := nontrivial_of_ne _ _ hr
split_ifs with h
· conv_rhs => rw [← coeff_mul_monomial _ s]
@@ -845,7 +845,7 @@ theorem C_dvd_iff_dvd_coeff (r : R) (φ : MvPolynomial σ R) : C r ∣ φ ↔
split_ifs with hi
· rw [hc]
· rw [not_mem_support_iff] at hi
- rwa [MulZeroClass.mul_zero]
+ rwa [mul_zero]
#align mv_polynomial.C_dvd_iff_dvd_coeff MvPolynomial.C_dvd_iff_dvd_coeff
@[simp] lemma isRegular_X : IsRegular (X n : MvPolynomial σ R) := by
@@ -1566,7 +1566,7 @@ theorem eval₂Hom_eq_zero (f : R →+* S₂) (g : σ → S₂) (φ : MvPolynomi
rw [φ.as_sum, map_sum]
refine Finset.sum_eq_zero fun d hd => ?_
obtain ⟨i, hi, hgi⟩ : ∃ i ∈ d.support, g i = 0 := h d (Finsupp.mem_support_iff.mp hd)
- rw [eval₂Hom_monomial, Finsupp.prod, Finset.prod_eq_zero hi, MulZeroClass.mul_zero]
+ rw [eval₂Hom_monomial, Finsupp.prod, Finset.prod_eq_zero hi, mul_zero]
rw [hgi, zero_pow]
rwa [pos_iff_ne_zero, ← Finsupp.mem_support_iff]
#align mv_polynomial.eval₂_hom_eq_zero MvPolynomial.eval₂Hom_eq_zero
The goal (which is achieved) is to make things like this work:
example {s : Finset σ} {n : σ} {k : ℕ} {p : MvPolynomial σ R} :
p * (∏ n in s, X n) * X n ^ k = 0 ↔ p = 0 := by
simp
@@ -4,6 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Johannes Hölzl, Johan Commelin, Mario Carneiro
-/
import Mathlib.Algebra.Algebra.Tower
+import Mathlib.Algebra.Regular.Pow
import Mathlib.Algebra.MonoidAlgebra.Support
import Mathlib.Data.Finsupp.Antidiagonal
import Mathlib.Order.SymmDiff
@@ -847,6 +848,19 @@ theorem C_dvd_iff_dvd_coeff (r : R) (φ : MvPolynomial σ R) : C r ∣ φ ↔
rwa [MulZeroClass.mul_zero]
#align mv_polynomial.C_dvd_iff_dvd_coeff MvPolynomial.C_dvd_iff_dvd_coeff
+@[simp] lemma isRegular_X : IsRegular (X n : MvPolynomial σ R) := by
+ suffices : IsLeftRegular (X n : MvPolynomial σ R)
+ · exact ⟨this, this.right_of_commute $ Commute.all _⟩
+ intro P Q (hPQ : (X n) * P = (X n) * Q)
+ ext i
+ rw [← coeff_X_mul i n P, hPQ, coeff_X_mul i n Q]
+
+@[simp] lemma isRegular_X_pow (k : ℕ) : IsRegular (X n ^ k : MvPolynomial σ R) := isRegular_X.pow k
+
+@[simp] lemma isRegular_prod_X (s : Finset σ) :
+ IsRegular (∏ n in s, X n : MvPolynomial σ R) :=
+ IsRegular.prod fun _ _ ↦ isRegular_X
+
end Coeff
section ConstantCoeff
Autoimplicits are highly controversial and also defeat the performance-improving work in #6474.
The intent of this PR is to make autoImplicit
opt-in on a per-file basis, by disabling it in the lakefile and enabling it again with set_option autoImplicit true
in the few files that rely on it.
That also keeps this PR small, as opposed to attempting to "fix" files to not need it any more.
I claim that many of the uses of autoImplicit
in these files are accidental; situations such as:
variables
are in scope, but pasting the lemma in the wrong sectionHaving set_option autoImplicit false
as the default prevents these types of mistake being made in the 90% of files where autoImplicit
s are not used at all, and causes them to be caught by CI during review.
I think there were various points during the port where we encouraged porters to delete the universes u v
lines; I think having autoparams for universe variables only would cover a lot of the cases we actually use them, while avoiding any real shortcomings.
A Zulip poll (after combining overlapping votes accordingly) was in favor of this change with 5:5:18
as the no:dontcare:yes
vote ratio.
While this PR was being reviewed, a handful of files gained some more likely-accidental autoImplicits. In these places, set_option autoImplicit true
has been placed locally within a section, rather than at the top of the file.
@@ -68,6 +68,8 @@ polynomial, multivariate polynomial, multivariable polynomial
-/
+set_option autoImplicit true
+
noncomputable section
Type _
and Sort _
(#6499)
We remove all possible occurences of Type _
and Sort _
in favor of Type*
and Sort*
.
This has nice performance benefits.
@@ -83,7 +83,7 @@ variable {R : Type u} {S₁ : Type v} {S₂ : Type w} {S₃ : Type x}
/-- Multivariate polynomial, where `σ` is the index set of the variables and
`R` is the coefficient ring -/
-def MvPolynomial (σ : Type _) (R : Type _) [CommSemiring R] :=
+def MvPolynomial (σ : Type*) (R : Type*) [CommSemiring R] :=
AddMonoidAlgebra R (σ →₀ ℕ)
#align mv_polynomial MvPolynomial
@@ -93,7 +93,7 @@ namespace MvPolynomial
-- tons of warnings in this file, and it's easier to just disable them globally in the file
set_option linter.uppercaseLean3 false
-variable {σ : Type _} {a a' a₁ a₂ : R} {e : ℕ} {n m : σ} {s : σ →₀ ℕ}
+variable {σ : Type*} {a a' a₁ a₂ : R} {e : ℕ} {n m : σ} {s : σ →₀ ℕ}
section CommSemiring
@@ -236,12 +236,12 @@ theorem C_pow (a : R) (n : ℕ) : (C (a ^ n) : MvPolynomial σ R) = C a ^ n :=
map_pow _ _ _
#align mv_polynomial.C_pow MvPolynomial.C_pow
-theorem C_injective (σ : Type _) (R : Type _) [CommSemiring R] :
+theorem C_injective (σ : Type*) (R : Type*) [CommSemiring R] :
Function.Injective (C : R → MvPolynomial σ R) :=
Finsupp.single_injective _
#align mv_polynomial.C_injective MvPolynomial.C_injective
-theorem C_surjective {R : Type _} [CommSemiring R] (σ : Type _) [IsEmpty σ] :
+theorem C_surjective {R : Type*} [CommSemiring R] (σ : Type*) [IsEmpty σ] :
Function.Surjective (C : R → MvPolynomial σ R) := by
refine' fun p => ⟨p.toFun 0, Finsupp.ext fun a => _⟩
simp only [C_apply, ←single_eq_monomial, (Finsupp.ext isEmptyElim (α := σ) : a = 0),
@@ -250,17 +250,17 @@ theorem C_surjective {R : Type _} [CommSemiring R] (σ : Type _) [IsEmpty σ] :
#align mv_polynomial.C_surjective MvPolynomial.C_surjective
@[simp]
-theorem C_inj {σ : Type _} (R : Type _) [CommSemiring R] (r s : R) :
+theorem C_inj {σ : Type*} (R : Type*) [CommSemiring R] (r s : R) :
(C r : MvPolynomial σ R) = C s ↔ r = s :=
(C_injective σ R).eq_iff
#align mv_polynomial.C_inj MvPolynomial.C_inj
-instance infinite_of_infinite (σ : Type _) (R : Type _) [CommSemiring R] [Infinite R] :
+instance infinite_of_infinite (σ : Type*) (R : Type*) [CommSemiring R] [Infinite R] :
Infinite (MvPolynomial σ R) :=
Infinite.of_injective C (C_injective _ _)
#align mv_polynomial.infinite_of_infinite MvPolynomial.infinite_of_infinite
-instance infinite_of_nonempty (σ : Type _) (R : Type _) [Nonempty σ] [CommSemiring R]
+instance infinite_of_nonempty (σ : Type*) (R : Type*) [Nonempty σ] [CommSemiring R]
[Nontrivial R] : Infinite (MvPolynomial σ R) :=
Infinite.of_injective ((fun s : σ →₀ ℕ => monomial s 1) ∘ Finsupp.single (Classical.arbitrary σ))
<| (monomial_left_injective one_ne_zero).comp (Finsupp.single_injective _)
@@ -282,7 +282,7 @@ theorem C_eq_smul_one : (C a : MvPolynomial σ R) = a • (1 : MvPolynomial σ R
rw [← C_mul', mul_one]
#align mv_polynomial.C_eq_smul_one MvPolynomial.C_eq_smul_one
-theorem smul_monomial {S₁ : Type _} [SMulZeroClass S₁ R] (r : S₁) :
+theorem smul_monomial {S₁ : Type*} [SMulZeroClass S₁ R] (r : S₁) :
r • monomial s a = monomial s (r • a) :=
Finsupp.smul_single _ _ _
#align mv_polynomial.smul_monomial MvPolynomial.smul_monomial
@@ -357,33 +357,33 @@ theorem monomial_eq_zero {s : σ →₀ ℕ} {b : R} : monomial s b = 0 ↔ b =
#align mv_polynomial.monomial_eq_zero MvPolynomial.monomial_eq_zero
@[simp]
-theorem sum_monomial_eq {A : Type _} [AddCommMonoid A] {u : σ →₀ ℕ} {r : R} {b : (σ →₀ ℕ) → R → A}
+theorem sum_monomial_eq {A : Type*} [AddCommMonoid A] {u : σ →₀ ℕ} {r : R} {b : (σ →₀ ℕ) → R → A}
(w : b u 0 = 0) : sum (monomial u r) b = b u r :=
Finsupp.sum_single_index w
#align mv_polynomial.sum_monomial_eq MvPolynomial.sum_monomial_eq
@[simp]
-theorem sum_C {A : Type _} [AddCommMonoid A] {b : (σ →₀ ℕ) → R → A} (w : b 0 0 = 0) :
+theorem sum_C {A : Type*} [AddCommMonoid A] {b : (σ →₀ ℕ) → R → A} (w : b 0 0 = 0) :
sum (C a) b = b 0 a :=
sum_monomial_eq w
#align mv_polynomial.sum_C MvPolynomial.sum_C
-theorem monomial_sum_one {α : Type _} (s : Finset α) (f : α → σ →₀ ℕ) :
+theorem monomial_sum_one {α : Type*} (s : Finset α) (f : α → σ →₀ ℕ) :
(monomial (∑ i in s, f i) 1 : MvPolynomial σ R) = ∏ i in s, monomial (f i) 1 :=
(monomialOneHom R σ).map_prod (fun i => Multiplicative.ofAdd (f i)) s
#align mv_polynomial.monomial_sum_one MvPolynomial.monomial_sum_one
-theorem monomial_sum_index {α : Type _} (s : Finset α) (f : α → σ →₀ ℕ) (a : R) :
+theorem monomial_sum_index {α : Type*} (s : Finset α) (f : α → σ →₀ ℕ) (a : R) :
monomial (∑ i in s, f i) a = C a * ∏ i in s, monomial (f i) 1 := by
rw [← monomial_sum_one, C_mul', ← (monomial _).map_smul, smul_eq_mul, mul_one]
#align mv_polynomial.monomial_sum_index MvPolynomial.monomial_sum_index
-theorem monomial_finsupp_sum_index {α β : Type _} [Zero β] (f : α →₀ β) (g : α → β → σ →₀ ℕ)
+theorem monomial_finsupp_sum_index {α β : Type*} [Zero β] (f : α →₀ β) (g : α → β → σ →₀ ℕ)
(a : R) : monomial (f.sum g) a = C a * f.prod fun a b => monomial (g a b) 1 :=
monomial_sum_index _ _ _
#align mv_polynomial.monomial_finsupp_sum_index MvPolynomial.monomial_finsupp_sum_index
-theorem monomial_eq_monomial_iff {α : Type _} (a₁ a₂ : α →₀ ℕ) (b₁ b₂ : R) :
+theorem monomial_eq_monomial_iff {α : Type*} (a₁ a₂ : α →₀ ℕ) (b₁ b₂ : R) :
monomial a₁ b₁ = monomial a₂ b₂ ↔ a₁ = a₂ ∧ b₁ = b₂ ∨ b₁ = 0 ∧ b₂ = 0 :=
Finsupp.single_eq_single_iff _ _ _ _
#align mv_polynomial.monomial_eq_monomial_iff MvPolynomial.monomial_eq_monomial_iff
@@ -450,7 +450,7 @@ theorem induction_on {M : MvPolynomial σ R → Prop} (p : MvPolynomial σ R) (h
induction_on'' p h_C (fun a b f _ha _hb hf hm => h_add (monomial a b) f hm hf) h_X
#align mv_polynomial.induction_on MvPolynomial.induction_on
-theorem ringHom_ext {A : Type _} [Semiring A] {f g : MvPolynomial σ R →+* A}
+theorem ringHom_ext {A : Type*} [Semiring A] {f g : MvPolynomial σ R →+* A}
(hC : ∀ r, f (C r) = g (C r)) (hX : ∀ i, f (X i) = g (X i)) : f = g := by
refine AddMonoidAlgebra.ringHom_ext' ?_ ?_
-- porting note: this has high priority, but Lean still chooses `RingHom.ext`, why?
@@ -465,7 +465,7 @@ theorem ringHom_ext {A : Type _} [Semiring A] {f g : MvPolynomial σ R →+* A}
/-- See note [partially-applied ext lemmas]. -/
@[ext 1100]
-theorem ringHom_ext' {A : Type _} [Semiring A] {f g : MvPolynomial σ R →+* A}
+theorem ringHom_ext' {A : Type*} [Semiring A] {f g : MvPolynomial σ R →+* A}
(hC : f.comp C = g.comp C) (hX : ∀ i, f (X i) = g (X i)) : f = g :=
ringHom_ext (RingHom.ext_iff.1 hC) hX
#align mv_polynomial.ring_hom_ext' MvPolynomial.ringHom_ext'
@@ -481,7 +481,7 @@ theorem is_id (f : MvPolynomial σ R →+* MvPolynomial σ R) (hC : f.comp C = C
#align mv_polynomial.is_id MvPolynomial.is_id
@[ext 1100]
-theorem algHom_ext' {A B : Type _} [CommSemiring A] [CommSemiring B] [Algebra R A] [Algebra R B]
+theorem algHom_ext' {A B : Type*} [CommSemiring A] [CommSemiring B] [Algebra R A] [Algebra R B]
{f g : MvPolynomial σ A →ₐ[R] B}
(h₁ :
f.comp (IsScalarTower.toAlgHom R A (MvPolynomial σ A)) =
@@ -491,7 +491,7 @@ theorem algHom_ext' {A B : Type _} [CommSemiring A] [CommSemiring B] [Algebra R
#align mv_polynomial.alg_hom_ext' MvPolynomial.algHom_ext'
@[ext 1200]
-theorem algHom_ext {A : Type _} [Semiring A] [Algebra R A] {f g : MvPolynomial σ R →ₐ[R] A}
+theorem algHom_ext {A : Type*} [Semiring A] [Algebra R A] {f g : MvPolynomial σ R →ₐ[R] A}
(hf : ∀ i : σ, f (X i) = g (X i)) : f = g :=
AddMonoidAlgebra.algHom_ext' (mulHom_ext' fun X : σ => MonoidHom.ext_mnat (hf X))
#align mv_polynomial.alg_hom_ext MvPolynomial.algHom_ext
@@ -512,7 +512,7 @@ theorem adjoin_range_X : Algebra.adjoin R (range (X : σ → MvPolynomial σ R))
#align mv_polynomial.adjoin_range_X MvPolynomial.adjoin_range_X
@[ext]
-theorem linearMap_ext {M : Type _} [AddCommMonoid M] [Module R M] {f g : MvPolynomial σ R →ₗ[R] M}
+theorem linearMap_ext {M : Type*} [AddCommMonoid M] [Module R M] {f g : MvPolynomial σ R →ₗ[R] M}
(h : ∀ s, f ∘ₗ monomial s = g ∘ₗ monomial s) : f = g :=
Finsupp.lhom_ext' h
#align mv_polynomial.linear_map_ext MvPolynomial.linearMap_ext
@@ -559,12 +559,12 @@ theorem support_zero : (0 : MvPolynomial σ R).support = ∅ :=
rfl
#align mv_polynomial.support_zero MvPolynomial.support_zero
-theorem support_smul {S₁ : Type _} [SMulZeroClass S₁ R] {a : S₁} {f : MvPolynomial σ R} :
+theorem support_smul {S₁ : Type*} [SMulZeroClass S₁ R] {a : S₁} {f : MvPolynomial σ R} :
(a • f).support ⊆ f.support :=
Finsupp.support_smul
#align mv_polynomial.support_smul MvPolynomial.support_smul
-theorem support_sum {α : Type _} [DecidableEq σ] {s : Finset α} {f : α → MvPolynomial σ R} :
+theorem support_sum {α : Type*} [DecidableEq σ] {s : Finset α} {f : α → MvPolynomial σ R} :
(∑ x in s, f x).support ⊆ s.biUnion fun x => (f x).support :=
Finsupp.support_finset_sum
#align mv_polynomial.support_sum MvPolynomial.support_sum
@@ -613,7 +613,7 @@ theorem coeff_add (m : σ →₀ ℕ) (p q : MvPolynomial σ R) : coeff m (p + q
#align mv_polynomial.coeff_add MvPolynomial.coeff_add
@[simp]
-theorem coeff_smul {S₁ : Type _} [SMulZeroClass S₁ R] (m : σ →₀ ℕ) (C : S₁) (p : MvPolynomial σ R) :
+theorem coeff_smul {S₁ : Type*} [SMulZeroClass S₁ R] (m : σ →₀ ℕ) (C : S₁) (p : MvPolynomial σ R) :
coeff m (C • p) = C • coeff m p :=
smul_apply C p m
#align mv_polynomial.coeff_smul MvPolynomial.coeff_smul
@@ -637,7 +637,7 @@ def coeffAddMonoidHom (m : σ →₀ ℕ) : MvPolynomial σ R →+ R
map_add' := coeff_add m
#align mv_polynomial.coeff_add_monoid_hom MvPolynomial.coeffAddMonoidHom
-theorem coeff_sum {X : Type _} (s : Finset X) (f : X → MvPolynomial σ R) (m : σ →₀ ℕ) :
+theorem coeff_sum {X : Type*} (s : Finset X) (f : X → MvPolynomial σ R) (m : σ →₀ ℕ) :
coeff m (∑ x in s, f x) = ∑ x in s, coeff m (f x) :=
(@coeffAddMonoidHom R σ _ _).map_sum _ s
#align mv_polynomial.coeff_sum MvPolynomial.coeff_sum
@@ -740,7 +740,7 @@ theorem support_X_mul (s : σ) (p : MvPolynomial σ R) :
#align mv_polynomial.support_X_mul MvPolynomial.support_X_mul
@[simp]
-theorem support_smul_eq {S₁ : Type _} [Semiring S₁] [Module S₁ R] [NoZeroSMulDivisors S₁ R] {a : S₁}
+theorem support_smul_eq {S₁ : Type*} [Semiring S₁] [Module S₁ R] [NoZeroSMulDivisors S₁ R] {a : S₁}
(h : a ≠ 0) (p : MvPolynomial σ R) : (a • p).support = p.support :=
Finsupp.support_smul_eq h
#align mv_polynomial.support_smul_eq MvPolynomial.support_smul_eq
@@ -885,7 +885,7 @@ variable {R}
/- porting note: increased priority because otherwise `simp` time outs when trying to simplify
the left-hand side. `simpNF` linter indicated this and it was verified. -/
@[simp 1001]
-theorem constantCoeff_smul {R : Type _} [SMulZeroClass R S₁] (a : R) (f : MvPolynomial σ S₁) :
+theorem constantCoeff_smul {R : Type*} [SMulZeroClass R S₁] (a : R) (f : MvPolynomial σ S₁) :
constantCoeff (a • f) = a • constantCoeff f :=
rfl
#align mv_polynomial.constant_coeff_smul MvPolynomial.constantCoeff_smul
@@ -1163,13 +1163,13 @@ theorem eval_mul : eval f (p * q) = eval f p * eval f q :=
theorem eval_pow : ∀ n, eval f (p ^ n) = eval f p ^ n :=
fun _ => eval₂_pow _ _
-theorem eval_sum {ι : Type _} (s : Finset ι) (f : ι → MvPolynomial σ R) (g : σ → R) :
+theorem eval_sum {ι : Type*} (s : Finset ι) (f : ι → MvPolynomial σ R) (g : σ → R) :
eval g (∑ i in s, f i) = ∑ i in s, eval g (f i) :=
(eval g).map_sum _ _
#align mv_polynomial.eval_sum MvPolynomial.eval_sum
@[to_additive existing]
-theorem eval_prod {ι : Type _} (s : Finset ι) (f : ι → MvPolynomial σ R) (g : σ → R) :
+theorem eval_prod {ι : Type*} (s : Finset ι) (f : ι → MvPolynomial σ R) (g : σ → R) :
eval g (∏ i in s, f i) = ∏ i in s, eval g (f i) :=
(eval g).map_prod _ _
#align mv_polynomial.eval_prod MvPolynomial.eval_prod
@@ -1473,14 +1473,14 @@ theorem aeval_X_left_apply (p : MvPolynomial σ R) : aeval X p = p :=
AlgHom.congr_fun aeval_X_left p
#align mv_polynomial.aeval_X_left_apply MvPolynomial.aeval_X_left_apply
-theorem comp_aeval {B : Type _} [CommSemiring B] [Algebra R B] (φ : S₁ →ₐ[R] B) :
+theorem comp_aeval {B : Type*} [CommSemiring B] [Algebra R B] (φ : S₁ →ₐ[R] B) :
φ.comp (aeval f) = aeval fun i => φ (f i) := by
ext i
simp
#align mv_polynomial.comp_aeval MvPolynomial.comp_aeval
@[simp]
-theorem map_aeval {B : Type _} [CommSemiring B] (g : σ → S₁) (φ : S₁ →+* B) (p : MvPolynomial σ R) :
+theorem map_aeval {B : Type*} [CommSemiring B] (g : σ → S₁) (φ : S₁ →+* B) (p : MvPolynomial σ R) :
φ (aeval g p) = eval₂Hom (φ.comp (algebraMap R S₁)) (fun i => φ (g i)) p := by
rw [← comp_eval₂Hom]
rfl
@@ -1560,13 +1560,13 @@ theorem aeval_eq_zero [Algebra R S₂] (f : σ → S₂) (φ : MvPolynomial σ R
eval₂Hom_eq_zero _ _ _ h
#align mv_polynomial.aeval_eq_zero MvPolynomial.aeval_eq_zero
-theorem aeval_sum {ι : Type _} (s : Finset ι) (φ : ι → MvPolynomial σ R) :
+theorem aeval_sum {ι : Type*} (s : Finset ι) (φ : ι → MvPolynomial σ R) :
aeval f (∑ i in s, φ i) = ∑ i in s, aeval f (φ i) :=
(MvPolynomial.aeval f).map_sum _ _
#align mv_polynomial.aeval_sum MvPolynomial.aeval_sum
@[to_additive existing]
-theorem aeval_prod {ι : Type _} (s : Finset ι) (φ : ι → MvPolynomial σ R) :
+theorem aeval_prod {ι : Type*} (s : Finset ι) (φ : ι → MvPolynomial σ R) :
aeval f (∏ i in s, φ i) = ∏ i in s, aeval f (φ i) :=
(MvPolynomial.aeval f).map_prod _ _
#align mv_polynomial.aeval_prod MvPolynomial.aeval_prod
@@ -1588,7 +1588,7 @@ end Aeval
section AevalTower
-variable {S A B : Type _} [CommSemiring S] [CommSemiring A] [CommSemiring B]
+variable {S A B : Type*} [CommSemiring S] [CommSemiring A] [CommSemiring B]
variable [Algebra S R] [Algebra S A] [Algebra S B]
@@ -1657,7 +1657,7 @@ end AevalTower
section EvalMem
-variable {S subS : Type _} [CommSemiring S] [SetLike subS S] [SubsemiringClass subS S]
+variable {S subS : Type*} [CommSemiring S] [SetLike subS S] [SubsemiringClass subS S]
theorem eval₂_mem {f : R →+* S} {p : MvPolynomial σ R} {s : subS}
(hs : ∀ i ∈ p.support, f (p.coeff i) ∈ s) {v : σ → S} (hv : ∀ i, v i ∈ s) :
In Lean 3, the computability of Finsupp.toMultiset
was poisoned by the AddMonoid (α →₀ ℕ)
instance, even though this was not used in computation. This is no longer the case in Lean 4, so we can make this computable by adding a DecidableEq α
argument.
We loosely follow the pattern used with DFinsupp
, where we split the declaration in two, as only one direction needs DecidableEq α
. As a result, Finsupp.toMultiset
is now only an AddMonoidHom
, though Multiset.toFinset
remains an equiv.
We're missing some of the formatting infrastructure for this to be pretty, but this now works:
#eval ((Finsupp.mk Finset.univ ![1, 2, 3] sorry).antidiagonal).image
fun x : _ × _ => (x.1.toFun, x.2.toFun)
@@ -698,7 +698,7 @@ theorem coeff_C_mul (m) (a : R) (p : MvPolynomial σ R) : coeff m (C a * p) = a
simp
#align mv_polynomial.coeff_C_mul MvPolynomial.coeff_C_mul
-theorem coeff_mul (p q : MvPolynomial σ R) (n : σ →₀ ℕ) :
+theorem coeff_mul [DecidableEq σ] (p q : MvPolynomial σ R) (n : σ →₀ ℕ) :
coeff n (p * q) = ∑ x in antidiagonal n, coeff x.1 p * coeff x.2 q :=
AddMonoidAlgebra.mul_apply_antidiagonal p q _ _ mem_antidiagonal
#align mv_polynomial.coeff_mul MvPolynomial.coeff_mul
@@ -856,7 +856,7 @@ def constantCoeff : MvPolynomial σ R →+* R
where
toFun := coeff 0
map_one' := by simp [AddMonoidAlgebra.one_def]
- map_mul' := by simp [coeff_mul, Finsupp.support_single_ne_zero]
+ map_mul' := by classical simp [coeff_mul, Finsupp.support_single_ne_zero]
map_zero' := coeff_zero _
map_add' := coeff_add _
#align mv_polynomial.constant_coeff MvPolynomial.constantCoeff
@@ -2,11 +2,6 @@
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.basic
-! leanprover-community/mathlib commit c8734e8953e4b439147bd6f75c2163f6d27cdce6
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathlib.Algebra.Algebra.Tower
import Mathlib.Algebra.MonoidAlgebra.Support
@@ -14,6 +9,8 @@ import Mathlib.Data.Finsupp.Antidiagonal
import Mathlib.Order.SymmDiff
import Mathlib.RingTheory.Adjoin.Basic
+#align_import data.mv_polynomial.basic from "leanprover-community/mathlib"@"c8734e8953e4b439147bd6f75c2163f6d27cdce6"
+
/-!
# Multivariate polynomials
@@ -1157,6 +1157,15 @@ theorem smul_eval (x) (p : MvPolynomial σ R) (s) : eval x (s • p) = s * eval
rw [smul_eq_C_mul, (eval x).map_mul, eval_C]
#align mv_polynomial.smul_eval MvPolynomial.smul_eval
+theorem eval_add : eval f (p + q) = eval f p + eval f q :=
+ eval₂_add _ _
+
+theorem eval_mul : eval f (p * q) = eval f p * eval f q :=
+ eval₂_mul _ _
+
+theorem eval_pow : ∀ n, eval f (p ^ n) = eval f p ^ n :=
+ fun _ => eval₂_pow _ _
+
theorem eval_sum {ι : Type _} (s : Finset ι) (f : ι → MvPolynomial σ R) (g : σ → R) :
eval g (∑ i in s, f i) = ∑ i in s, eval g (f i) :=
(eval g).map_sum _ _
@@ -151,7 +151,7 @@ instance isScalarTower_right [CommSemiring S₁] [DistribSMul R S₁] [IsScalarT
instance smulCommClass_right [CommSemiring S₁] [DistribSMul R S₁] [SMulCommClass R S₁ S₁] :
SMulCommClass R (MvPolynomial σ S₁) (MvPolynomial σ S₁) :=
- AddMonoidAlgebra.sMulCommClass_self _
+ AddMonoidAlgebra.smulCommClass_self _
#align mv_polynomial.smul_comm_class_right MvPolynomial.smulCommClass_right
/-- If `R` is a subsingleton, then `MvPolynomial σ R` has a unique element -/
This is the second half of the changes originally in #5699, removing all occurrences of ;
after a space and implementing a linter rule to enforce it.
In most cases this 2-character substring has a space after it, so the following command was run first:
find . -type f -name "*.lean" -exec sed -i -E 's/ ; /; /g' {} \;
The remaining cases were few enough in number that they were done manually.
@@ -61,7 +61,7 @@ In the definitions below, we use the following notation:
Recall that if `Y` has a zero, then `X →₀ Y` is the type of functions from `X` to `Y` with finite
support, i.e. such that only finitely many elements of `X` get sent to non-zero terms in `Y`.
-The definition of `MvPolynomial σ R` is `(σ →₀ ℕ) →₀ R` ; here `σ →₀ ℕ` denotes the space of all
+The definition of `MvPolynomial σ R` is `(σ →₀ ℕ) →₀ R`; here `σ →₀ ℕ` denotes the space of all
monomials in the variables, and the function to `R` sends a monomial to its coefficient in
the polynomial being represented.
at
and goals (#5387)
Changes are of the form
some_tactic at h⊢
-> some_tactic at h ⊢
some_tactic at h
-> some_tactic at h
@@ -1293,7 +1293,7 @@ theorem coeff_map (p : MvPolynomial σ R) : ∀ m : σ →₀ ℕ, coeff m (map
theorem map_injective (hf : Function.Injective f) :
Function.Injective (map f : MvPolynomial σ R → MvPolynomial σ S₁) := by
intro p q h
- simp only [ext_iff, coeff_map] at h⊢
+ simp only [ext_iff, coeff_map] at h ⊢
intro m
exact hf (h m)
#align mv_polynomial.map_injective MvPolynomial.map_injective
A sloppy version of this was added in #4891. This adds the better version that we wrote in mathlib3.
@@ -4,7 +4,7 @@ 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.basic
-! leanprover-community/mathlib commit 2f5b500a507264de86d666a5f87ddb976e2d8de4
+! leanprover-community/mathlib commit c8734e8953e4b439147bd6f75c2163f6d27cdce6
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -144,19 +144,15 @@ instance algebra [CommSemiring R] [CommSemiring S₁] [Algebra R S₁] :
Algebra R (MvPolynomial σ S₁) :=
AddMonoidAlgebra.algebra
--- Register with high priority to avoid timeout in `Data.MvPolynomial.PDeriv`
-instance isScalarTower' [CommSemiring R] [CommSemiring S₁] [Algebra R S₁] :
+instance isScalarTower_right [CommSemiring S₁] [DistribSMul R S₁] [IsScalarTower R S₁ S₁] :
IsScalarTower R (MvPolynomial σ S₁) (MvPolynomial σ S₁) :=
- IsScalarTower.right
-#align mv_polynomial.is_scalar_tower' MvPolynomial.isScalarTower'
-
---Porting note: new instance
-instance isScalarTower_right [CommSemiring R] [CommSemiring S₁] [DistribSMul R S₁]
- [IsScalarTower R S₁ S₁] : IsScalarTower R (MvPolynomial σ S₁) (MvPolynomial σ S₁) :=
- ⟨by
- rintro x p q
- dsimp [MvPolynomial] at p q ⊢
- rw [smul_mul_assoc]⟩
+ AddMonoidAlgebra.isScalarTower_self _
+#align mv_polynomial.is_scalar_tower_right MvPolynomial.isScalarTower_right
+
+instance smulCommClass_right [CommSemiring S₁] [DistribSMul R S₁] [SMulCommClass R S₁ S₁] :
+ SMulCommClass R (MvPolynomial σ S₁) (MvPolynomial σ S₁) :=
+ AddMonoidAlgebra.sMulCommClass_self _
+#align mv_polynomial.smul_comm_class_right MvPolynomial.smulCommClass_right
/-- If `R` is a subsingleton, then `MvPolynomial σ R` has a unique element -/
instance unique [CommSemiring R] [Subsingleton R] : Unique (MvPolynomial σ R) :=
@@ -150,6 +150,14 @@ instance isScalarTower' [CommSemiring R] [CommSemiring S₁] [Algebra R S₁] :
IsScalarTower.right
#align mv_polynomial.is_scalar_tower' MvPolynomial.isScalarTower'
+--Porting note: new instance
+instance isScalarTower_right [CommSemiring R] [CommSemiring S₁] [DistribSMul R S₁]
+ [IsScalarTower R S₁ S₁] : IsScalarTower R (MvPolynomial σ S₁) (MvPolynomial σ S₁) :=
+ ⟨by
+ rintro x p q
+ dsimp [MvPolynomial] at p q ⊢
+ rw [smul_mul_assoc]⟩
+
/-- If `R` is a subsingleton, then `MvPolynomial σ R` has a unique element -/
instance unique [CommSemiring R] [Subsingleton R] : Unique (MvPolynomial σ R) :=
AddMonoidAlgebra.unique
fix-comments.py
on all files.@@ -92,7 +92,7 @@ def MvPolynomial (σ : Type _) (R : Type _) [CommSemiring R] :=
namespace MvPolynomial
--- porting note: because of `mv_polynomial.C` and `mv_polynomial.X` this linter throws
+-- porting note: because of `MvPolynomial.C` and `MvPolynomial.X` this linter throws
-- tons of warnings in this file, and it's easier to just disable them globally in the file
set_option linter.uppercaseLean3 false
I've been someone sloppy about forward-porting the exact mathport here; a lot of the classical
additions result in the whole proof being indented, which IMO just adds noise to the diff.
What's important is that:
open Classical
is removed from all the same files[DecidableEq _]
is added in the same position to all the same lemmas. In theory mathport will detect if we mess this up, so it's not essential to catch this in review. The linter will tell us if it is added unnecessarily, and the build will fail if is not added someewhere it is needed; so only the argument order is at risk of being wrong.foo_def
lemmas are all added in variables.lean
@@ -4,7 +4,7 @@ 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.basic
-! leanprover-community/mathlib commit 4e529b03dd62b7b7d13806c3fb974d9d4848910e
+! leanprover-community/mathlib commit 2f5b500a507264de86d666a5f87ddb976e2d8de4
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -74,7 +74,7 @@ polynomial, multivariate polynomial, multivariable polynomial
noncomputable section
-open Classical BigOperators
+open BigOperators
open Set Function Finsupp AddMonoidAlgebra
@@ -539,17 +539,18 @@ theorem support_monomial_subset : (monomial s a).support ⊆ {s} :=
support_single_subset
#align mv_polynomial.support_monomial_subset MvPolynomial.support_monomial_subset
-theorem support_add : (p + q).support ⊆ p.support ∪ q.support :=
+theorem support_add [DecidableEq σ] : (p + q).support ⊆ p.support ∪ q.support :=
Finsupp.support_add
#align mv_polynomial.support_add MvPolynomial.support_add
theorem support_X [Nontrivial R] : (X n : MvPolynomial σ R).support = {Finsupp.single n 1} := by
- rw [X, support_monomial, if_neg]; exact one_ne_zero
+ classical rw [X, support_monomial, if_neg]; exact one_ne_zero
#align mv_polynomial.support_X MvPolynomial.support_X
theorem support_X_pow [Nontrivial R] (s : σ) (n : ℕ) :
(X s ^ n : MvPolynomial σ R).support = {Finsupp.single s n} := by
- rw [X_pow_eq_monomial, support_monomial, if_neg (one_ne_zero' R)]
+ classical
+ rw [X_pow_eq_monomial, support_monomial, if_neg (one_ne_zero' R)]
#align mv_polynomial.support_X_pow MvPolynomial.support_X_pow
@[simp]
@@ -562,7 +563,7 @@ theorem support_smul {S₁ : Type _} [SMulZeroClass S₁ R] {a : S₁} {f : MvPo
Finsupp.support_smul
#align mv_polynomial.support_smul MvPolynomial.support_smul
-theorem support_sum {α : Type _} {s : Finset α} {f : α → MvPolynomial σ R} :
+theorem support_sum {α : Type _} [DecidableEq σ] {s : Finset α} {f : α → MvPolynomial σ R} :
(∑ x in s, f x).support ⊆ s.biUnion fun x => (f x).support :=
Finsupp.support_finset_sum
#align mv_polynomial.support_sum MvPolynomial.support_sum
@@ -591,7 +592,7 @@ theorem sum_def {A} [AddCommMonoid A] {p : MvPolynomial σ R} {b : (σ →₀
p.sum b = ∑ m in p.support, b m (p.coeff m) := by simp [support, Finsupp.sum, coeff]
#align mv_polynomial.sum_def MvPolynomial.sum_def
-theorem support_mul (p q : MvPolynomial σ R) :
+theorem support_mul [DecidableEq σ] (p q : MvPolynomial σ R) :
(p * q).support ⊆ p.support.biUnion fun a => q.support.biUnion fun b => {a + b} := by
convert AddMonoidAlgebra.support_mul p q
#align mv_polynomial.support_mul MvPolynomial.support_mul
@@ -685,11 +686,12 @@ theorem coeff_X' [DecidableEq σ] (i : σ) (m) :
@[simp]
theorem coeff_X (i : σ) : coeff (Finsupp.single i 1) (X i : MvPolynomial σ R) = 1 := by
- rw [coeff_X', if_pos rfl]
+ classical rw [coeff_X', if_pos rfl]
#align mv_polynomial.coeff_X MvPolynomial.coeff_X
@[simp]
theorem coeff_C_mul (m) (a : R) (p : MvPolynomial σ R) : coeff m (C a * p) = a * coeff m p := by
+ classical
rw [mul_def, sum_C]
· simp (config := { contextual := true }) [sum_def, coeff_sum]
simp
@@ -760,6 +762,7 @@ theorem support_symmDiff_support_subset_support_add [DecidableEq σ] (p q : MvPo
theorem coeff_mul_monomial' (m) (s : σ →₀ ℕ) (r : R) (p : MvPolynomial σ R) :
coeff m (p * monomial s r) = if s ≤ m then coeff (m - s) p * r else 0 := by
+ classical
obtain rfl | hr := eq_or_ne r 0
· simp only [monomial_zero, coeff_zero, MulZeroClass.mul_zero, ite_self]
haveI : Nontrivial R := nontrivial_of_ne _ _ hr
@@ -865,7 +868,7 @@ variable (σ)
@[simp]
theorem constantCoeff_C (r : R) : constantCoeff (C r : MvPolynomial σ R) = r := by
- simp [constantCoeff_eq]
+ classical simp [constantCoeff_eq]
#align mv_polynomial.constant_coeff_C MvPolynomial.constantCoeff_C
variable {σ}
@@ -950,8 +953,8 @@ theorem eval₂_zero : (0 : MvPolynomial σ R).eval₂ f g = 0 :=
section
@[simp]
-theorem eval₂_add : (p + q).eval₂ f g = p.eval₂ f g + q.eval₂ f g :=
- Finsupp.sum_add_index (by simp [f.map_zero]) (by simp [add_mul, f.map_add])
+theorem eval₂_add : (p + q).eval₂ f g = p.eval₂ f g + q.eval₂ f g := by
+ classical exact Finsupp.sum_add_index (by simp [f.map_zero]) (by simp [add_mul, f.map_add])
#align mv_polynomial.eval₂_add MvPolynomial.eval₂_add
@[simp]
@@ -976,6 +979,7 @@ theorem eval₂_X (n) : (X n).eval₂ f g = g n := by
theorem eval₂_mul_monomial :
∀ {s a}, (p * monomial s a).eval₂ f g = p.eval₂ f g * f a * s.prod fun n e => g n ^ e := by
+ classical
apply MvPolynomial.induction_on p
· intro a' s a
simp [C_mul_monomial, eval₂_monomial, f.map_mul]
@@ -1263,6 +1267,7 @@ theorem map_eval₂ (f : R →+* S₁) (g : S₂ → MvPolynomial S₃ R) (p : M
#align mv_polynomial.map_eval₂ MvPolynomial.map_eval₂
theorem coeff_map (p : MvPolynomial σ R) : ∀ m : σ →₀ ℕ, coeff m (map f p) = f (coeff m p) := by
+ classical
apply MvPolynomial.induction_on p <;> clear p
· intro r m
rw [map_C]
sSup
/iSup
(#3938)
As discussed on Zulip
supₛ
→ sSup
infₛ
→ sInf
supᵢ
→ iSup
infᵢ
→ iInf
bsupₛ
→ bsSup
binfₛ
→ bsInf
bsupᵢ
→ biSup
binfᵢ
→ biInf
csupₛ
→ csSup
cinfₛ
→ csInf
csupᵢ
→ ciSup
cinfᵢ
→ ciInf
unionₛ
→ sUnion
interₛ
→ sInter
unionᵢ
→ iUnion
interᵢ
→ iInter
bunionₛ
→ bsUnion
binterₛ
→ bsInter
bunionᵢ
→ biUnion
binterᵢ
→ biInter
Co-authored-by: Parcly Taxel <reddeloostw@gmail.com>
@@ -563,7 +563,7 @@ theorem support_smul {S₁ : Type _} [SMulZeroClass S₁ R] {a : S₁} {f : MvPo
#align mv_polynomial.support_smul MvPolynomial.support_smul
theorem support_sum {α : Type _} {s : Finset α} {f : α → MvPolynomial σ R} :
- (∑ x in s, f x).support ⊆ s.bunionᵢ fun x => (f x).support :=
+ (∑ x in s, f x).support ⊆ s.biUnion fun x => (f x).support :=
Finsupp.support_finset_sum
#align mv_polynomial.support_sum MvPolynomial.support_sum
@@ -592,7 +592,7 @@ theorem sum_def {A} [AddCommMonoid A] {p : MvPolynomial σ R} {b : (σ →₀
#align mv_polynomial.sum_def MvPolynomial.sum_def
theorem support_mul (p q : MvPolynomial σ R) :
- (p * q).support ⊆ p.support.bunionᵢ fun a => q.support.bunionᵢ fun b => {a + b} := by
+ (p * q).support ⊆ p.support.biUnion fun a => q.support.biUnion fun b => {a + b} := by
convert AddMonoidAlgebra.support_mul p q
#align mv_polynomial.support_mul MvPolynomial.support_mul
@@ -771,7 +771,7 @@ theorem coeff_mul_monomial' (m) (s : σ →₀ ℕ) (r : R) (p : MvPolynomial σ
intro hm
apply h
have H := support_mul _ _ hm
- simp only [Finset.mem_bunionᵢ] at H
+ simp only [Finset.mem_biUnion] at H
rcases H with ⟨j, _hj, i', hi', H⟩
rw [support_monomial, if_neg hr, Finset.mem_singleton] at hi'
subst i'
@@ -4,7 +4,7 @@ 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.basic
-! leanprover-community/mathlib commit f69db8cecc668e2d5894d7e9bfc491da60db3b9f
+! leanprover-community/mathlib commit 4e529b03dd62b7b7d13806c3fb974d9d4848910e
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -1640,6 +1640,43 @@ theorem aevalTower_ofId :
end AevalTower
+section EvalMem
+
+variable {S subS : Type _} [CommSemiring S] [SetLike subS S] [SubsemiringClass subS S]
+
+theorem eval₂_mem {f : R →+* S} {p : MvPolynomial σ R} {s : subS}
+ (hs : ∀ i ∈ p.support, f (p.coeff i) ∈ s) {v : σ → S} (hv : ∀ i, v i ∈ s) :
+ MvPolynomial.eval₂ f v p ∈ s := by
+ classical
+ replace hs : ∀ i, f (p.coeff i) ∈ s
+ · intro i
+ by_cases hi : i ∈ p.support
+ · exact hs i hi
+ · rw [MvPolynomial.not_mem_support_iff.1 hi, f.map_zero]
+ exact zero_mem s
+ induction' p using MvPolynomial.induction_on''' with a a b f ha _ ih
+ · simpa using hs 0
+ rw [eval₂_add, eval₂_monomial]
+ refine' add_mem (mul_mem _ <| prod_mem fun i _ => pow_mem (hv _) _) (ih fun i => _)
+ · have := hs a -- Porting note: was `simpa only [...]`
+ rwa [coeff_add, MvPolynomial.not_mem_support_iff.1 ha, add_zero, coeff_monomial,
+ if_pos rfl] at this
+ have := hs i
+ rw [coeff_add, coeff_monomial] at this
+ split_ifs at this with h
+ · subst h
+ rw [MvPolynomial.not_mem_support_iff.1 ha, map_zero]
+ exact zero_mem _
+ · rwa [if_neg h, zero_add] at this
+#align mv_polynomial.eval₂_mem MvPolynomial.eval₂_mem
+
+theorem eval_mem {p : MvPolynomial σ S} {s : subS} (hs : ∀ i ∈ p.support, p.coeff i ∈ s) {v : σ → S}
+ (hv : ∀ i, v i ∈ s) : MvPolynomial.eval v p ∈ s :=
+ eval₂_mem hs hv
+#align mv_polynomial.eval_mem MvPolynomial.eval_mem
+
+end EvalMem
+
end CommSemiring
end MvPolynomial
Most of these changes generalize from DistribMulAction
to SmulZeroClass
.
The new lemmas are all just proved using corresponding lemmas on the underlying types.
Co-authored-by: Parcly Taxel <reddeloostw@gmail.com> Co-authored-by: Jeremy Tan Jie Rui <reddeloostw@gmail.com>
@@ -4,7 +4,7 @@ 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.basic
-! leanprover-community/mathlib commit 0b89934139d3be96f9dab477f10c20f9f93da580
+! leanprover-community/mathlib commit f69db8cecc668e2d5894d7e9bfc491da60db3b9f
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -117,23 +117,27 @@ instance distribuMulAction [Monoid R] [CommSemiring S₁] [DistribMulAction R S
DistribMulAction R (MvPolynomial σ S₁) :=
AddMonoidAlgebra.distribMulAction
-instance faithfulSMul [Monoid R] [CommSemiring S₁] [DistribMulAction R S₁] [FaithfulSMul R S₁] :
+instance smulZeroClass [CommSemiring S₁] [SMulZeroClass R S₁] :
+ SMulZeroClass R (MvPolynomial σ S₁) :=
+ AddMonoidAlgebra.smulZeroClass
+
+instance faithfulSMul [CommSemiring S₁] [SMulZeroClass R S₁] [FaithfulSMul R S₁] :
FaithfulSMul R (MvPolynomial σ S₁) :=
AddMonoidAlgebra.faithfulSMul
instance module [Semiring R] [CommSemiring S₁] [Module R S₁] : Module R (MvPolynomial σ S₁) :=
AddMonoidAlgebra.module
-instance isScalarTower [Monoid R] [Monoid S₁] [CommSemiring S₂] [SMul R S₁] [DistribMulAction R S₂]
- [DistribMulAction S₁ S₂] [IsScalarTower R S₁ S₂] : IsScalarTower R S₁ (MvPolynomial σ S₂) :=
+instance isScalarTower [CommSemiring S₂] [SMul R S₁] [SMulZeroClass R S₂] [SMulZeroClass S₁ S₂]
+ [IsScalarTower R S₁ S₂] : IsScalarTower R S₁ (MvPolynomial σ S₂) :=
AddMonoidAlgebra.isScalarTower
-instance smulCommClass [Monoid R] [Monoid S₁] [CommSemiring S₂] [DistribMulAction R S₂]
- [DistribMulAction S₁ S₂] [SMulCommClass R S₁ S₂] : SMulCommClass R S₁ (MvPolynomial σ S₂) :=
+instance smulCommClass [CommSemiring S₂] [SMulZeroClass R S₂] [SMulZeroClass S₁ S₂]
+ [SMulCommClass R S₁ S₂] : SMulCommClass R S₁ (MvPolynomial σ S₂) :=
AddMonoidAlgebra.smulCommClass
-instance isCentralScalar [Monoid R] [CommSemiring S₁] [DistribMulAction R S₁]
- [DistribMulAction Rᵐᵒᵖ S₁] [IsCentralScalar R S₁] : IsCentralScalar R (MvPolynomial σ S₁) :=
+instance isCentralScalar [CommSemiring S₁] [SMulZeroClass R S₁] [SMulZeroClass Rᵐᵒᵖ S₁]
+ [IsCentralScalar R S₁] : IsCentralScalar R (MvPolynomial σ S₁) :=
AddMonoidAlgebra.isCentralScalar
instance algebra [CommSemiring R] [CommSemiring S₁] [Algebra R S₁] :
@@ -277,6 +281,11 @@ theorem C_eq_smul_one : (C a : MvPolynomial σ R) = a • (1 : MvPolynomial σ R
rw [← C_mul', mul_one]
#align mv_polynomial.C_eq_smul_one MvPolynomial.C_eq_smul_one
+theorem smul_monomial {S₁ : Type _} [SMulZeroClass S₁ R] (r : S₁) :
+ r • monomial s a = monomial s (r • a) :=
+ Finsupp.smul_single _ _ _
+#align mv_polynomial.smul_monomial MvPolynomial.smul_monomial
+
theorem X_injective [Nontrivial R] : Function.Injective (X : σ → MvPolynomial σ R) :=
(monomial_left_injective one_ne_zero).comp (Finsupp.single_left_injective one_ne_zero)
#align mv_polynomial.X_injective MvPolynomial.X_injective
@@ -389,8 +398,7 @@ theorem induction_on_monomial {M : MvPolynomial σ R → Prop} (h_C : ∀ a, M (
· show M (monomial 0 a)
exact h_C a
· intro n e p _hpn _he ih
- have : ∀ e : ℕ, M (monomial p a * X n ^ e) :=
- by
+ have : ∀ e : ℕ, M (monomial p a * X n ^ e) := by
intro e
induction e with
| zero => simp [ih]
@@ -549,7 +557,7 @@ theorem support_zero : (0 : MvPolynomial σ R).support = ∅ :=
rfl
#align mv_polynomial.support_zero MvPolynomial.support_zero
-theorem support_smul [DistribMulAction R S₁] {a : R} {f : MvPolynomial σ S₁} :
+theorem support_smul {S₁ : Type _} [SMulZeroClass S₁ R] {a : S₁} {f : MvPolynomial σ R} :
(a • f).support ⊆ f.support :=
Finsupp.support_smul
#align mv_polynomial.support_smul MvPolynomial.support_smul
@@ -603,8 +611,8 @@ theorem coeff_add (m : σ →₀ ℕ) (p q : MvPolynomial σ R) : coeff m (p + q
#align mv_polynomial.coeff_add MvPolynomial.coeff_add
@[simp]
-theorem coeff_smul {S₁ : Type _} [Monoid S₁] [DistribMulAction S₁ R] (m : σ →₀ ℕ) (C : S₁)
- (p : MvPolynomial σ R) : coeff m (C • p) = C • coeff m p :=
+theorem coeff_smul {S₁ : Type _} [SMulZeroClass S₁ R] (m : σ →₀ ℕ) (C : S₁) (p : MvPolynomial σ R) :
+ coeff m (C • p) = C • coeff m p :=
smul_apply C p m
#align mv_polynomial.coeff_smul MvPolynomial.coeff_smul
@@ -728,6 +736,12 @@ theorem support_X_mul (s : σ) (p : MvPolynomial σ R) :
AddMonoidAlgebra.support_single_mul p _ (by simp) _
#align mv_polynomial.support_X_mul MvPolynomial.support_X_mul
+@[simp]
+theorem support_smul_eq {S₁ : Type _} [Semiring S₁] [Module S₁ R] [NoZeroSMulDivisors S₁ R] {a : S₁}
+ (h : a ≠ 0) (p : MvPolynomial σ R) : (a • p).support = p.support :=
+ Finsupp.support_smul_eq h
+#align mv_polynomial.support_smul_eq MvPolynomial.support_smul_eq
+
theorem support_sdiff_support_subset_support_add [DecidableEq σ] (p q : MvPolynomial σ R) :
p.support \ q.support ⊆ (p + q).support := by
intro m hm
@@ -798,6 +812,11 @@ theorem ne_zero_iff {p : MvPolynomial σ R} : p ≠ 0 ↔ ∃ d, coeff d p ≠ 0
rfl
#align mv_polynomial.ne_zero_iff MvPolynomial.ne_zero_iff
+@[simp]
+theorem support_eq_empty {p : MvPolynomial σ R} : p.support = ∅ ↔ p = 0 :=
+ Finsupp.support_eq_empty
+#align mv_polynomial.support_eq_empty MvPolynomial.support_eq_empty
+
theorem exists_coeff_ne_zero {p : MvPolynomial σ R} (h : p ≠ 0) : ∃ d, coeff d p ≠ 0 :=
ne_zero_iff.mp h
#align mv_polynomial.exists_coeff_ne_zero MvPolynomial.exists_coeff_ne_zero
@@ -862,7 +881,7 @@ variable {R}
/- porting note: increased priority because otherwise `simp` time outs when trying to simplify
the left-hand side. `simpNF` linter indicated this and it was verified. -/
@[simp 1001]
-theorem constantCoeff_smul [DistribMulAction R S₁] (a : R) (f : MvPolynomial σ S₁) :
+theorem constantCoeff_smul {R : Type _} [SMulZeroClass R S₁] (a : R) (f : MvPolynomial σ S₁) :
constantCoeff (a • f) = a • constantCoeff f :=
rfl
#align mv_polynomial.constant_coeff_smul MvPolynomial.constantCoeff_smul
@@ -1196,8 +1215,7 @@ theorem map_id : ∀ p : MvPolynomial σ R, map (RingHom.id R) p = p :=
theorem map_map [CommSemiring S₂] (g : S₁ →+* S₂) (p : MvPolynomial σ R) :
map g (map f p) = map (g.comp f) p :=
- (eval₂_comp_left (map g) (C.comp f) X p).trans <|
- by
+ (eval₂_comp_left (map g) (C.comp f) X p).trans <| by
congr
· ext1 a
simp only [map_C, comp_apply, RingHom.coe_comp]
@@ -1607,8 +1625,8 @@ theorem aevalTower_comp_toAlgHom :
#align mv_polynomial.aeval_tower_comp_to_alg_hom MvPolynomial.aevalTower_comp_toAlgHom
@[simp]
-theorem aevalTower_id : aevalTower (AlgHom.id S S) = (aeval : (σ → S) → MvPolynomial σ S →ₐ[S] S) :=
- by
+theorem aevalTower_id :
+ aevalTower (AlgHom.id S S) = (aeval : (σ → S) → MvPolynomial σ S →ₐ[S] S) := by
ext
simp only [aevalTower_X, aeval_X]
#align mv_polynomial.aeval_tower_id MvPolynomial.aevalTower_id
data.mv_polynomial.basic
, data.mv_polynomial.funext
: leanprover-community/mathlib#18839category_theory.limits.preserves.finite
, category_theory.preadditive.projective
: leanprover-community/mathlib#18890category_theory.abelian.basic
, category_theory.abelian.opposite
: leanprover-community/mathlib#18740topology.category.Top.limits.basic
: leanprover-community/mathlib#18871. Note that this does not show a useful diff on the dashboard pages as file splits aren't tracked well by git.Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Eric Wieser <wieser.eric@gmail.com>
@@ -4,7 +4,7 @@ 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.basic
-! leanprover-community/mathlib commit 2d5739b61641ee4e7e53eca5688a08f66f2e6a60
+! leanprover-community/mathlib commit 0b89934139d3be96f9dab477f10c20f9f93da580
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -1148,7 +1148,11 @@ theorem eval_assoc {τ} (f : σ → MvPolynomial τ R) (g : τ → R) (p : MvPol
congr with a; simp
#align mv_polynomial.eval_assoc MvPolynomial.eval_assoc
--- Porting note: new theorem
+@[simp]
+theorem eval₂_id (p : MvPolynomial σ R) : eval₂ (RingHom.id _) g p = eval g p :=
+ rfl
+#align mv_polynomial.eval₂_id MvPolynomial.eval₂_id
+
theorem eval_eval₂ [CommSemiring R] [CommSemiring S]
(f : R →+* MvPolynomial τ S) (g : σ → MvPolynomial τ S) (p : MvPolynomial σ R) :
eval x (eval₂ f g p) = eval₂ ((eval x).comp f) (fun s => eval x (g s)) p := by
@@ -1158,6 +1162,7 @@ theorem eval_eval₂ [CommSemiring R] [CommSemiring S]
simp [hp, hq]
· intro p n hp
simp [hp]
+#align mv_polynomial.eval_eval₂ MvPolynomial.eval_eval₂
end Eval
@@ -1205,8 +1210,8 @@ theorem eval₂_eq_eval_map (g : σ → S₁) (p : MvPolynomial σ R) : p.eval
have h := eval₂_comp_left (eval₂Hom (RingHom.id S₁) g) (C.comp f) X p
-- porting note: the Lean 3 version of `h` was full of metavariables which
- -- were later unified during `rw [h]`
- dsimp at h
+ -- were later unified during `rw [h]`. Also needed to add `-eval₂_id`.
+ dsimp [-eval₂_id] at h
rw [h]
congr
· ext1 a
@@ -1215,12 +1220,6 @@ theorem eval₂_eq_eval_map (g : σ → S₁) (p : MvPolynomial σ R) : p.eval
simp only [comp_apply, eval₂_X]
#align mv_polynomial.eval₂_eq_eval_map MvPolynomial.eval₂_eq_eval_map
--- Porting note: new theorem
--- This probably belongs earlier, but it breaks the fragile proof of `eval₂_eq_eval_map`
-@[simp]
-theorem eval₂_id (p : MvPolynomial σ R) : eval₂ (RingHom.id _) g p = eval g p :=
- rfl
-
theorem eval₂_comp_right {S₂} [CommSemiring S₂] (k : S₁ →+* S₂) (f : R →+* S₁) (g : σ → S₁) (p) :
k (eval₂ f g p) = eval₂ k (k ∘ g) (map f p) := by
apply MvPolynomial.induction_on p
@@ -1148,6 +1148,17 @@ theorem eval_assoc {τ} (f : σ → MvPolynomial τ R) (g : τ → R) (p : MvPol
congr with a; simp
#align mv_polynomial.eval_assoc MvPolynomial.eval_assoc
+-- Porting note: new theorem
+theorem eval_eval₂ [CommSemiring R] [CommSemiring S]
+ (f : R →+* MvPolynomial τ S) (g : σ → MvPolynomial τ S) (p : MvPolynomial σ R) :
+ eval x (eval₂ f g p) = eval₂ ((eval x).comp f) (fun s => eval x (g s)) p := by
+ apply induction_on p
+ · simp
+ · intro p q hp hq
+ simp [hp, hq]
+ · intro p n hp
+ simp [hp]
+
end Eval
section Map
@@ -1204,6 +1215,12 @@ theorem eval₂_eq_eval_map (g : σ → S₁) (p : MvPolynomial σ R) : p.eval
simp only [comp_apply, eval₂_X]
#align mv_polynomial.eval₂_eq_eval_map MvPolynomial.eval₂_eq_eval_map
+-- Porting note: new theorem
+-- This probably belongs earlier, but it breaks the fragile proof of `eval₂_eq_eval_map`
+@[simp]
+theorem eval₂_id (p : MvPolynomial σ R) : eval₂ (RingHom.id _) g p = eval g p :=
+ rfl
+
theorem eval₂_comp_right {S₂} [CommSemiring S₂] (k : S₁ →+* S₂) (f : R →+* S₁) (g : σ → S₁) (p) :
k (eval₂ f g p) = eval₂ k (k ∘ g) (map f p) := by
apply MvPolynomial.induction_on p
@@ -455,7 +455,7 @@ theorem ringHom_ext {A : Type _} [Semiring A] {f g : MvPolynomial σ R →+* A}
#align mv_polynomial.ring_hom_ext MvPolynomial.ringHom_ext
/-- See note [partially-applied ext lemmas]. -/
-@[ext 1001]
+@[ext 1100]
theorem ringHom_ext' {A : Type _} [Semiring A] {f g : MvPolynomial σ R →+* A}
(hC : f.comp C = g.comp C) (hX : ∀ i, f (X i) = g (X i)) : f = g :=
ringHom_ext (RingHom.ext_iff.1 hC) hX
@@ -471,7 +471,7 @@ theorem is_id (f : MvPolynomial σ R →+* MvPolynomial σ R) (hC : f.comp C = C
hom_eq_hom f (RingHom.id _) hC hX p
#align mv_polynomial.is_id MvPolynomial.is_id
-@[ext 1001]
+@[ext 1100]
theorem algHom_ext' {A B : Type _} [CommSemiring A] [CommSemiring B] [Algebra R A] [Algebra R B]
{f g : MvPolynomial σ A →ₐ[R] B}
(h₁ :
@@ -481,7 +481,7 @@ theorem algHom_ext' {A B : Type _} [CommSemiring A] [CommSemiring B] [Algebra R
AlgHom.coe_ringHom_injective (MvPolynomial.ringHom_ext' (congr_arg AlgHom.toRingHom h₁) h₂)
#align mv_polynomial.alg_hom_ext' MvPolynomial.algHom_ext'
-@[ext 1002]
+@[ext 1200]
theorem algHom_ext {A : Type _} [Semiring A] [Algebra R A] {f g : MvPolynomial σ R →ₐ[R] A}
(hf : ∀ i : σ, f (X i) = g (X i)) : f = g :=
AddMonoidAlgebra.algHom_ext' (mulHom_ext' fun X : σ => MonoidHom.ext_mnat (hf X))
@@ -4,7 +4,7 @@ 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.basic
-! leanprover-community/mathlib commit 65902a4a1a39ff6fdfb657a35dde2579dbb4a155
+! leanprover-community/mathlib commit 2d5739b61641ee4e7e53eca5688a08f66f2e6a60
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -1383,6 +1383,10 @@ variable [Algebra R S₁] [CommSemiring S₂]
variable (f : σ → S₁)
+theorem algebraMap_apply (r : R) :
+ algebraMap R (MvPolynomial σ S₁) r = C (algebraMap R S₁ r) := rfl
+#align mv_polynomial.algebra_map_apply MvPolynomial.algebraMap_apply
+
/-- A map `σ → S₁` where `S₁` is an algebra over `R` generates an `R`-algebra homomorphism
from multivariate polynomials over `σ` to `S₁`. -/
def aeval : MvPolynomial σ R →ₐ[R] S₁ :=
The unported dependencies are